3

私はcpanのTry::Tinyパッケージを使用しようとしていましたが、以下のように簡単なコードを書きました

use strict;
use Try::Tiny;
print "before try block";
try {
        print "try block";
        my $test = 10/0;
} catch {
        print "got error :- $_ \n";
}
exit;

これを実行すると、エラーは表示されず、「試行ブロックの前」のような o/p が表示され、「試行ブロック」ステートメントを出力せずに終了します。

でもコメントすると

#exit;

私は正常に動作し、catch ブロックに print ステートメントを表示します。何か間違っていますか? 何がうまくいかなかったのかを見つけようとしているだけです。

4

1 に答える 1

6

;try-catch の最後に (セミコロン)が必要だと思います

} catch {
        print "got error :- $_ \n";
};

cpanの例から

その上、あなたは必要ですexitか??

(礼儀ysth)
説明: catch は 2 つのパラメーターをとります: コード ブロックと、finally 句を意図したオプションのパラメーターです...しかし、ここでは exit の戻り値が 2 番目のパラメーターとして渡されています。その出口は二度と戻りません。

于 2013-02-27T06:06:52.340 に答える