- Scilab help
- Scilab
- Scilab keywords
- TMPDIR
- abort
- add_demo
- argn
- banner
- boolean
- break
- clear
- clearfun
- clearglobal
- comp
- continue
- debug
- delbpt
- dispbpt
- edit
- errcatch
- errclear
- error
- error_table
- exists
- exit
- external
- extraction
- format
- funcprot
- funptr
- getdebuginfo
- getmd5
- getmemory
- getmodules
- getos
- getscilabmode
- getshell
- getvariablesonstack
- getversion
- gstacksize
- ieee
- insertion
- intppty
- inv_coeff
- iserror
- isglobal
- lasterror
- macr2lst
- macr2tree
- matrices
- matrix
- mode
- mtlb_mode
- names
- newfun
- null
- pause
- perl
- poly
- predef
- quit
- rational
- readgateway
- resume
- sciargs
- scilab
- setbpt
- sethomedirectory
- stacksize
- startup
- symbols
- testmatrix
- type
- typename
- user
- varn
- ver
- warning
- what
- where
- whereami
- who
- who_user
- whos
- with_atlas
- with_gtk
- with_javasci
- with_macros_source
- with_module
- with_pvm
- with_texmacs
- with_tk
Please note that the recommended version of Scilab is 2024.1.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
は,関数のリターンの時に自動的にリセットされます.
参照
<< edit | Scilab | errclear >> |