ある命令群を実行し、エラーになったら指定したエラー処理命令群を実行する、 という例外処理は try 〜 catch を使って 記述する。 書式は次の例を見ればだいたい分かるだろう。
try{ for(x = 0, 1, 0.01){ y = f(x) / g(x) print y } }catch(g(x) = 0){ print 'Divided by 0!' }
この場合の出力結果は次のようになる。
結果は、単なる if文と同じ形になっている。 これは、そもそもPAD自身に例外処理の概念がないためである。
try 〜 catch文での改行コードの入れ方や { }
の使い方は、
反復や条件分岐の場合とほぼ同じである。
try や catch の中身が1行であれば、{ }
で囲まなくても
良い。
また、{
や }
の前後に改行コードを入れても良いし、空白も適
当に入れて構わない。
つまり、
try print sty catch(str = NULL) print 'NULL!' try { print sty } catch (str = NULL) { print 'NULL!' }
といった書き方ができる。 一方、
try{ print sty } catch(str = NULL) print 'NULL!'
という書き方は不正となる。