[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.9 tryステートメント

unwind_protectに加え,Octaveでは,例外処理の別の(限定された)書き方をサポー トしています。

tryブロックの一般的な書き方は,以下のようなものです。

 
try
  body
catch
  cleanup
end_try_catch

ここでbodycleanupは,ともにオプションであり,任意のOctave 式またはコマンドを含めることができます。cleanupにおけるステートメン トは,bodyにおいてエラーが発生したときにのみ実行されます。

bodyが実行されているあいだ,警告やエラーメッセージは何も表示されま せん。bodyの実行中にエラーが発生すると,cleanupは,表示される はずだったメッセージのテキストにアクセスするための関数lasterrを 使用することができます。これは,eval (try, catch)と することに同じですが,上の関数がより効率的です。なぜならば,そのコマンド は,tryおよびcatchステートメントを毎回解釈する必要がないから です。lasterr関数について,より多くの情報はエラー処理 を参照してください。

Octaveのtryブロックは,Lispのcondition-case形式の非常に限られたバリ エーションです(異なるエラーのクラスを別個に処理することができないためで す)。おそらく,同じ点において,Octaveにはエラーのクラス分けについて,いく つかの種類があり,try-catchは,Lispのcondition-caseと同じようにパワフルに なり得るでしょう。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]

This document was generated on July, 20 2006 using texi2html 1.76.