「例外処理」設計の再入門~「責任の境界」をどこに引くか~
本稿は生成AIと壁打ちして記述してます。 システム開発の現場において、例外処理はときより後回しにされることがあります。開発の初期段階では、仕様通りに動く「正常系」の構築にリソースが集中し、エラーへの対処は「とりあえずスタックトレースが出ればいい」といった場当たり的な...
View Article【Blue Prism】例外処理の作成<オブジェクト編>
はじめに Blue Prismでは、人為的ミスや不具合などで動作が正常に終了しない場合があります。 そのため、Blue Prismで業務を自動化する際は動作の途中でエラーが起こることを想定し、それぞれのエラーに対応した例外処理を作成することが必要になります。 今回はそんな...
View Article例外設計の基準(C#)|空catch/throw;/InnerException【掟R04】
連載Index(読む順・公開済(リンク)はここが最新): S00_門前の誓い_総合Index 例外は、失敗が自分で名乗り出てくれる存在。 出てくるたびに迷惑だが、原因へ辿るための手掛かりも一緒に置いていく。 catchで握り潰すと、その手掛かりだけが消え、「たまに落...
View ArticleRuby クイズ:「通常のプログラムで発生する可能性の高い」例外だけど StandardError じゃないやつな〜んだ?
Ruby 公式リファレンスの StandardError には, 通常のプログラムで発生する可能性の高い例外クラスを束ねるためのクラスです。 とある。 つまり,NameError, ArgumentError, TypeError, ZeroDivisionError,...
View Article【Rails】rescue_from は下から評価されるって知ってた?
はじめに こんにちは。アメリカ在住で独学エンジニアを目指している Taira です。 Rails で例外処理をまとめて書くときによく使うのが rescue_from。 でもこの rescue_from、書いた順番通りに評価されるわけではないって知ってましたか? この記事で...
View Articleトランザクションスコープはどのような長さにすべきか
トランザクションスコープの決定などについて少し悩んだことがあるので、メモしておこうかと思います。 トランザクションスコープ設計の基本原則 トランザクションサイズの最適化 基本的な考え方: トランザクションはできるだけ小さくまとめる デッドロックのリスクを最小化する 処...
View ArticleSpringBoot × axios 例外処理の実装方法
SpringBoot × axios の例外処理の実装方法をまとめます。 通常SpringBootで例外が発生した際、SpringBootの共通で設定したエラー画面に遷移する仕様なのですが、axiosの場合は、javascriptでレスポンスを受け取るので、エラー内容を表示...
View Article例外設計に関して
例外をどのように設計したらいいか模索してましたが、以前のプロジェクトで知見をえたため、自分なりにまとめておこうと思います。 PHP/Laravelを例にしてますが、他の言語、FWでも適用可能かと思います。 目次 全体的な例外の方針 基底となる例外クラス 一般的な例外クラ...
View Article【C#入門 第17章】よくあるC#のエラーまとめ|初心者がつまずく罠と対処法!
【C#入門 第17章】よくあるC#のエラーまとめ|初心者がつまずく罠と対処法! またエラー……って落ち込んでるそこのあなた! CSharpTimes の一之瀬シィが、C#初心者がつまずきがちなエラーとその対処法をしっかり教えてあげるわ💠💢 🐞 よくあるコンパイルエラー...
View ArticleJavaでSegmentation Faultはなぜ発生しないのか
みなさんは Segmentation Fault に遭遇したことがありますか? 私はあります。ターミナルにSegmentation Fault (core dumped)とだけ表示され、まともなログもないので何からどうしたらいいかわからず非常に苦労しました。「せぐふぉ」と略...
View Articleよく考えると、例外ってなんだっけ? - エラーハンドリングの歴史
以下の記事はほとんどClaudeに執筆してもらい、私がいくらか加筆修正したものです。 私はこの分野にそこまで明るくないので、不正確な点があるかもしれません。読まれる際はその点ご了承ください。 なぜtry文は当たり前のように存在するのか - エラーハンドリングの意外な歴史 ...
View ArticlePython の traceback で例外発生時の情報を取得
Python の traceback で例外発生時の情報を取得する方法のメモ。 プログラム 以下で traceback で取得できる情報を確認する。 import traceback def fun…
View Article【一般】サービスヘルスチェック
はじめに コンピュータソフトウェアに関して、常に完璧に動作し、不具合いが一切ないということは不可能です。異常を検出し、その原因を調査するために、さまざまな監視機能やアプリケーションに依存しています。…
View Articlenoexcept
noexcept noexcept指定可能 delete operator destructor https://faithandbrave.hateblo.jp/entry/20130620/13…
View ArticleKotlin Coroutines 例外Catch後にsuspend関数を呼ぶ場合
はじめに コルーチンの例外処理でsuspend関数を呼ぶ場合のアンチパターンを紹介します。 アンチパターン 以下のコードの出力結果はどうなるか suspend fun main() { val sc…
View ArticleKotlin Coroutines launch-join async-await の例外
はじめに Kotlin Coroutines の launch(), async() の例外は Job, Deferred にカプセル化されて、join(), await() 呼び出し先で例外が r…
View ArticleFuelPHPの例外エイリアスがキャッチできない理由を探る
以下に清書した記事をお送りします。 FuelPHPのAutoloaderとエイリアスの例外キャッチに関する検証 FuelPHPでエイリアスによる例外キャッチの動作について気になる点があったため、検証…
View ArticlePHPのエイリアスと例外処理の関係を検証してみた
PHPのエイリアスと例外の関係について PHPでエイリアスを利用する際、エイリアス元と同じように例外をキャッチできるかどうか気になったので、実際に検証してみました。今回の検証はPHP 8.0を前提に…
View Article検査例外(Checked Exception)、非検査例外(Unchecked Exception)とは?
目次 結論 例外の3つの種類 検査例外(Checked Exception) 検査例外(Exception) 非検査例外(Unchecked Exception) 発生する検査例外を調べる方法 実行…
View ArticlePythonで簡単な占いをしてみよう
Pythonで占いをする処理を実装する Pythonを少しずつ勉強していったので、今回は実行すると占い結果が出力されるものを作っていくよ。関数の書き方やライブラリのインポート、エラーなどの知識の復習…
View Article