Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
However, this page did not exist in the previous stable version.
errcatch
エラーの捕捉
呼出し手順
errcatch(n [,'action'] [,'option']) errcatch()
引数
- n
整数
- action, option
文字列
説明
errcatch
は,
n
型のエラーが発生した時に
実行される "アクション" (エラーハンドラ)を指定します,
n
は以下の意味を有します:
n
>0
の場合, n
は
捕捉するエラー番号となります.
n
<0
の場合,全てのエラーが捕捉されます.
action
は以下の文字列のどれかとなります:
- "pause"
誤差を捕捉した際に pause が実行されます. このオプションはデバッグの際に有用です. カレントのコンテキストで情報を取得するには
whereami()
を使用してください.- "continue"
関数または実行ファイルないの次の命令が実行され, カレントの命令は無視されます. iserror関数により, エラーが発生したかどうかを調べることが可能です.できるだけ早く errclear関数によりエラーをクリアすることを 忘れないようにしてください. このオプションはエラーからの回復の際に有用です. 多くの場合, execstr 関数または try制御構造を使用することにより
errcatch(n,"continue",..)
を 置換することができます.- "kill"
デフォルトのモードであり,全ての実行中の関数の実行が破棄され, Scilabの処理はレベル0プロンプトに戻ります.
- "stop"
カレントのScilabセッションを中断します(Scilabが外部プログラムからコールされた時に有用).
option
は中断時のエラーメッセージである
文字列 'nomessage'
です.
デフォルトモードに戻すためには,
errcatch(-1,"kill")
または
errcatch(-1)
と入力してください.
errcatch()
は以前使用されていたerrcatch(-1)
と
等価です.
errcatch
のアクションはカレントの評価コンテキスト
(function, exec, pause) およびサブレベル全体に適用されます.
あるサブレベル内でerrcatch
を2回コールすると
このサブレベルでの最初のコールが隠蔽され,
最初の関数コールの効果は削除されます.
Scilab関数または exec のコンテキスト内でコールされた場合,
errcatch
は,関数のリターンの時に自動的にリセットされます.
例
errcatch(144,"continue") 2/"foo" disp(a) // Without the errcatch, this line would not be executed errcatch(-1,"kill") // Come back in the normal mode errcatch(144,"pause") 2/"foo" // Enter in "pause" mode errcatch(27,'continue','nomessage') b=2/0 // No error message but b will not exist
参照
Report an issue | ||
<< Error handling | Error handling | errclear >> |