-1

別の開発グループによって作成された C++ DLL を使用したことがあるというのは私の質問です。残念ながら、C# プログラムで呼び出す関数 (0 で割るなど) にエラーがあります。プログラムが突然終了します。

プログラムが終了しないように、このエラーを修正またはスキップする方法を誰かが推奨できますか??

4

1 に答える 1

0

dll が pinvoke または COM を介して呼び出されることを明確にできますか?

DivideByZeroException が発生しましたか?

その場合は、キャッチしてログに記録し、後でラッパー例外を再スローまたはスローします。

プログラムが必ずしも終了するとは限りませんが、ビジネス機能/トランザクションを続行してはなりません。

最新の開発フレームワークのほとんどは、最終的なセーフティ ネットとして、キャッチされていない例外をキャッチするメカニズムを提供していると思いますが、独自のものを作成することもできます。

開発しているアプリケーションの種類に応じて、WinForm アプリの場合、AppDomain.UnhandledException または Application.ThreadException を確認できます。asp .net の場合、使用しているフレームワークによって異なります。多くの選択肢があります。たとえば、 HttpApplication.Error を見ることができます。

于 2013-01-18T03:08:45.413 に答える