4

perl に try catch ブロックがあります

try {
    //statement 1
    //statement 2
};
catch Error with
{
    print "Error\n";
}

perl プログラムを実行すると、次のエラーが表示されます

パッケージまたはオブジェクト参照なしでメソッド「try」を呼び出すことはできません...

4

3 に答える 3

6

tryPerl はorcatchキーワードを提供しません。によってスローされた「例外」をトラップするには、ハンドラdieを設定するか、 を使用できます。解析はコンパイル時に 1 回行われるため、文字列形式よりもブロック形式が優先されます。$SIG{__DIE__}eval

eval {
    // statement 1
    // statement 2
}
if ($@) {
    warn "caught error: $@";
}

など、より伝統try的な のような機能を提供するさまざまなモジュールがありますTry::Tiny

于 2012-07-11T07:06:31.257 に答える
0

Nice::Tryも試してみてください。これは非常にユニークで、他のプログラミング言語と同様に trycatch ブロックのすべての機能を提供します。

例外変数の割り当て、例外クラス、ブロックによるクリーンアップfinally、組み込みの try-catch ブロックをサポートしています。

完全な開示: 私はNice::Try when TryCatch got breakを開発しました。

于 2021-02-18T03:20:32.867 に答える