メニュー

プロダクト



プログラミング


  • Java
    • Web 技術
    • メール技術
      • JavaMail
      • Apache James Mailet
    • Web フレームワーク
      • Jakarta Struts
      • Jakarta Velocity
      • Jakarta Tapestry
      • WebWork2
      • Jakarta Jetspeed
      • Apache Cocoon 2
    • DB 技術
      • JDBC
      • Hibernate
      • Apache Torque
    • DI (IoC) コンテナ
      • Spring Framework
      • Seasar2
      • Apache HiveMind
      • PicoContainer
    • 属性プログラミング
    • テスティング
      • JUnit
      • Jakarta Cactus
      • DBUnit
      • djUnit
      • FitNesse
    • ロギング
      • Apache Log4j
      • Jakarta Commons logging
    • 分散コンポーネント技術
      • EJB
    • リッチ クライアント
      • Java Web Start
    • GUI
    • XML Web サービス
      • Apache Axis
      • Apache SOAP
    • アプリケーション管理
    • トランザクション
    • 開発環境
      • Apache Ant
      • Apache Maven
      • Apache Maven2
    • Eclipse
    • Tips
  • .NET Framework
  • PHP
  • XML
    • SmartDoc
  • 正規表現
  • VB, VBA, VBScript, ASP
  • C/C++

DBMS


  • MySQL
  • PostgreSQL
  • Oracle
  • Microsoft SQL Server
  • HSQLDB
  • SQLite
  • Apache Xindice

アプリケーション サーバ



OS



バージョン管理システム



未整理


最近更新したページ
このウィキの読者になる
更新情報がメールで届きます。
このウィキの読者になる

.NET Tips/UnhandledException

発生した例外をキャッチしないで、 GUI イベントの外、スレッドの外にスローされると、 .NET Framework によって処理され、エラーを表すダイアログが表示されます。しかし、発生した例外をすべてキャッチするように記述するのはかなり大変です (特に、イベントを多用する GUI アプリケーションや、スレッドを多用するマルチスレッド アプリケーションの場合) 。

Application.ThreadException イベント、及び Thread.GetDomain().UnhandledException イベントを利用すると、これらキャッチされなかった例外を処理することができます。

ちなみに、 main スレッドの場合、 main メソッドでキャッチすれば処理できます。

Application.ThreadException イベント


GUI アプリケーションにおいて、コントロールで発生するイベントの処理中にキャッチされなかった例外を一括で処理するイベントです。 Application.Run メソッドの呼び出しの前にイベントを設定します。

static void Main()
{
    Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException);
    Application.Run(new MainForm());
}

Thread.GetDomain().UnhandledException イベント


マルチスレッド アプリケーションにおいて、 main スレッド以外のスレッドでキャッチされなかった例外を一括で処理するイベントです。

static void Main()
{
    Thread.GetDoamin().UnhandledException += new UnhandledExceptionEventHandler(Application_UnhandledException);
}
2005年12月25日(日) 20:31:07 Modified by uguuxp




スマートフォン版で見る