$JavaExceptionHandler

$JavaExceptionHandler
Javaで投げられた例外を Mathematica でどのように扱うかを制御することができる.
  • $JavaExceptionHandlerを使うためには,まずJ/Link をロードしなくてはならない.それにはNeeds["JLink`"]を実行する必要がある.
  • デフォルトでは,例外は Mathematica のメッセージとして表示される.
  • この動作をオーバーライドしたい場合(例えば,例外からのメッセージを一時的に封じたい場合)は,$JavaExceptionHandlerに値を割り当てる.
  • $JavaExceptionHandlerの値は3つの引数が渡される関数として扱われる.この3つの引数とは,メッセージに関連したシンボル(これは現在は常にシンボルJava),メッセージタグ(通常の例外には文字列"excptn",メソッドが手動でその結果を Mathematica に送った後に例外が発生する,手動で戻す方法により生成された例外には文字列"pexcptn"),メッセージに関連したテキストの記述的文字列である.
  • メッセージを封じる下の例にあるように,$JavaExceptionHandlerは一般にBlock内で設定し,その効果が正確に定義されたコードの部分に限られるようにする:Block[{$JavaExceptionHandler=Null&}, obj@method[]]
  • ハンドラ関数の内部でGetJavaExceptionを使うと,投げられた実際のJava例外オブジェクトを得ることができる.
© 2008 Wolfram Research, Inc. japanese.gif