私のテスト フレームワークでは、出力ファイルからの Prints/Writes/handled 例外の結果として生じる乱雑な部分を取り除きたいので、Log Capture( Eval( testExpression ) ) 内でテスト コードを実行してみました。 私の問題は、これにより、testExpression の評価時にスローされる例外も黙らせてしまうように見えることですが、これは予期していませんでした。
例として:
Try(
logs = Log Capture(
Throw( "newsflash buddy!" );
);<BR /> Print( "Logs: " || logs );
,
Print( "Error:" || exception_msg )
);
ログを取得したいのですが、Capture 内のコードがスローされた場合に備えて、Catch になってしまいます。
補足質問: スローされた例外は実際にはログに表示されないため、キャプチャによって例外が沈黙する理由がさらにわかりにくくなります。