問題タブ [exception-handling]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - .NET1.1の未処理の例外ハンドラー
私は.NET1.1アプリケーションを保守しており、私が担当していることの1つは、ユーザーに不適切なエラー通知が表示されないようにすることです。
Application.ThreadException
とにハンドラーを追加しましたAppDomain.CurrentDomain.UnhandledException
。これらは呼び出されます。私の問題は、標準のCLRエラーダイアログがまだ表示されていることです(例外ハンドラーが呼び出される前)。
ジェフはこことここで彼のブログでこの問題について話します。しかし、解決策はありません。では、キャッチされない例外を処理し、わかりやすいダイアログボックスを表示するための.NET 1.1の標準的な方法は何ですか?
ジェフが提供したリンクには、必要なことを行う方法に関する最も完全な情報が含まれているため、ジェフの回答は正解としてマークされました。
.net - WebBrowser コントロールが例外を飲み込まないようにする
を使用してSystem.Windows.Forms.WebBrowser
、ビューを Visual Studio スタート ページのように作成しています。ただし、コントロールはすべての例外を黙ってシンクすることでキャッチして処理しているようです! これは非常に残念な振る舞いであると言う必要はありません。
上記のコードは、ナビゲーションをキャンセルし、例外を飲み込みます。
したがって、私が行っていること (上記) は、すべての例外をキャッチしてボックスをポップすることです。これは、黙って失敗するよりはましですが、それでも明らかに理想からはほど遠いものです。通常のアプリケーション障害パスを介して例外をリダイレクトし、最終的に処理されないようにするか、アプリケーションによってルートから処理されるようにしたいと考えています。
WebBrowser
例外のシンクを停止し、自然で期待される方法で転送するようにコントロールに指示する方法はありますか? または、ネイティブの境界を介して例外をスローするハックな方法はありますか?
c# - .NET例外をキャッチして再スローするためのベストプラクティス
例外をキャッチして再スローするときに考慮すべきベストプラクティスは何ですか?Exception
オブジェクトInnerException
とスタックトレースが保持されていることを確認したいと思います。次のコードブロックの処理方法に違いはありますか?
対:
.net - Web サービスの例外
私のグループはサービス ベース (.NET WCF) アプリケーションを開発しており、内部サービスで例外を処理する方法を決定しようとしています。例外をスローする必要がありますか? XML としてシリアル化された例外を返しますか? エラーコードを返すだけですか?
ユーザーがこれらの例外を目にすることは決してないことに注意してください。これは、アプリケーションの他の部分のためだけのものです。
c++ - 1 つの catch ブロックですべての種類の例外をキャッチするにはどうすればよいですか?
catch(Exception)
C++ では、( C#のように) 1 回のキャッチですべての種類の例外をキャッチしようとしています。それはどのように行われますか?さらに、ゼロ除算の例外をキャッチするにはどうすればよいでしょうか。
asp.net - .net Web アプリでの例外処理
私はそれを認めます: 私はあまり多くの例外処理を気にしません. もっとやらなければならないことはわかっていますが、どこから始めてどこでやめるべきかについて頭を悩ませることはできません。私は怠惰ではありません。それからはほど遠い。それは、私が例外処理のアンビバレンスに悩まされているということです。最小のアプリでも、例外処理を適用できる場所は無数にあるように思われ、やり過ぎのように感じ始める可能性があります。
私は注意深くテストし、検証し、黙祷を捧げてきましたが、これは悪いプログラミング事故が起こるのを待っています。
では、例外処理のベスト プラクティスは何ですか? 特に、例外処理を適用する必要がある最も明白で重要な場所はどこですか? また、例外処理を考慮する必要がある場所はどこですか?
あいまいな質問で申し訳ありませんが、これで本を完全に閉じたいと思います。
.net - .Net Windows サービスの UnhandledException ハンドラ
Windows サービスで UnhandledException ハンドラを使用することは可能ですか?
通常、私は、ログ記録、家への電話などを行うカスタム ビルドの例外処理コンポーネントを使用します。このコンポーネントは、System.AppDomain.CurrentDomain.UnhandledException にハンドラーを追加しますが、私が知る限り、これは何も達成せず、Windows サービスに勝てません。最終的に、2 つ (または 4 つ) の Service エントリ ポイントで次のパターンになります。
OnStart を面倒な例外処理配管で埋める必要がないように、カスタム例外処理コンポーネントがこれをより適切に処理できる方法はありますか?
c# - Debug.Assert と特定のスローされた例外
John Robbins による「Debugging MS .Net 2.0 Applications」をざっと読み始めたところですが、彼の Debug.Assert(...) の伝道に混乱しています。
彼は、適切に実装された Assert は、エラー状態の状態をある程度格納することを指摘しています。たとえば、次のようになります。
さて、個人的には、彼が実際の賢明な「ビジネス ロジック」のコメントなしでテストを言い直すのが大好きなのがおかしいように思えます。
だから、私はAssertsを一種の低レベルの「私の仮定を守ろう」のようなものとして得ていると思います...これがデバッグでのみ行う必要があるテストであると感じていると仮定します-つまり、同僚から自分自身を保護していますそして将来のプログラマー、そして彼らが実際に物事をテストすることを望んでいます。
しかし、私が理解できないのは、彼は続けて、通常のエラー処理に加えてアサーションを使用する必要があると言っているということです。今、私が想定しているのは次のようなものです:
エラー条件テストの Debug.Assert の繰り返しによって何が得られましたか? 非常に重要な計算のデバッグのみのダブルチェックについて話しているなら、私はそれを理解できると思います...
...しかし、(DEBUGビルドとリリースビルドの両方で)確かにチェックする価値があるパラメーターテストでは取得できません...またはそうではありません。私は何が欠けていますか?
delphi - Delphi 関数がスローする可能性のある例外を確認するにはどうすればよいですか?
Delphiでプロシージャ/関数がどの例外を発生させることができるかを調べる良い方法はありますか(プロシージャ/関数と呼ばれるものを含む)?
Java では、スローできる例外を常に宣言する必要がありますが、Delphi ではそうではなく、未処理の例外が発生する可能性があります。
未処理の例外を検出するコード分析ツールはありますか?