NETLink`
NETLink`

$NETExceptionHandler

$NETExceptionHandler

.NETに投げ入れられた例外がWolfram言語でどのように処理されるかを制御できるようにする.

詳細とオプション

  • $NETExceptionHandlerを使うためには,まず.NET/Link をロードしなくてはならない.それにはNeeds["NETLink`"]を実行する必要がある.
  • デフォルトの動作では,例外がWolframシステムでメッセージとして現れる.この動作をオーバーライドする(例えば,一時的に例外からのメッセージを黙らせる)ためには,値を$NETExceptionHandlerに割り当てるとよい.
  • $NETExceptionHandlerの値は,3つの引数を渡される関数として扱われる:
  • symbol associated with the message通常はシンボルNET
    message tag一般に"netexceptn"あるいは"netpexceptn"
    string description例外に関連する記述的な文字列
  • タグ"netexceptn"は一般に典型的な例外に使われる.これに対して,タグ"netpexceptn"は手動復帰で生成された例外に使われる.この場合例外は,関数がその結果をWolfram言語に送り返した後で起る.
  • GetNETExceptionをハンドラ関数で使って,.NET の例外オブジェクトを手動で得ることができる.
  • 典型的には,$NETExceptionHandlerBlock内に割り当てられる.

例題

  (1)

  • 以下でメッセージを黙らせる: