catch 文はエクスプレッションを評価して、エクスプレッションがエラーを起こす場合には true を返します。ただし、スクリプトは停止しません(catch の外側でエラーが生じた場合)。
この機能を使用すると、if 文中の代入やコマンドを試験的に実行でき、catch が true を返す場合、エラー対処コードを実行することができます。
int $divisor = 0; if ( catch ($factor = 42/$divisor) ) { print "Attempt to divide by zero caught\n"; }
MEL が catch 文中にゼロで割り算をするエラーを見つけると、自動的にエラー メッセージを出力しますが、スクリプトは停止しません。catch 文は true を返すため、if 文によってブロックが実行されます。
自動的にエラーを出力せずにエラーを見つけるには、 ではなく、catchQuietcatchQuiet 文を使用します。