例外管理は大きなテーマですので、ここでは表面に触れるだけです。
記事のiveから、「あなたが回復できる例外を処理するだけです」と書かれています。
特定の例外から回復する方法がわからない場合は、通常はそれをキャッチすることはありません。それがWebアプリケーションまたはサービスの場合、Webサーバー自体がログと回復を処理します。
場合によっては、トランザクションを取り消したり取り消したりするなど、一般的なリカバリができるように例外をキャッチする必要があります。その場合、許容可能なアプローチは、
例外をキャッチし、汎用リカバリを行い、再度例外をスローします。
もし私が何をすれば例外を処理できないのですか?それはスタックをバックアップpropateさせますか?
はい。
もし私がそれを処理しないと、私はそれを記録し、ユーザーフレンドリーなエラーメッセージを表示することができます。ほとんどの人はウェブアプリケーションやウェブサービスで何をしますか?
Webサーバーは例外を記録します。 Webアプリケーションにユーザーフレンドリーなエラーメッセージを表示したい場合は、スタックの最上位レベルをキャッチ/ログして、エラーメッセージにリダイレクトすることができます。もう一度、私はSystem.Exceptionをキャッチしないでください - あなたのアプリがスローする例外のリストを作成し、各タイプに合わせたメッセージを表示する前にこれらの型だけをキャッチします。例外タイプのリストが増加するにつれて、コードを変更して新しい例外タイプをそれぞれ禁止するか、その例外タイプに新しいキャッチを追加します。
Webサービスでは、カスタム例外を作成して、それをWebサービスが提供する汎用例外へのノードとして追加できます。
あなたのコード例では、例外を予期していない限り、try ... catchを使用しません。
下位層で例外を処理するにはどうすればよいですか。私は例外をバブルアップさせるべきですか?
はい。