2012-07-11 42 views

回答

4

Perl不提供trycatch关键字。为了捕获die引发的“例外”,您可以设置$SIG{__DIE__}处理程序或使用eval。块形式比字符串形式更受欢迎,因为解析在编译时会发生一次。

eval { 
    // statement 1 
    // statement 2 
} 
if ([email protected]) { 
    warn "caught error: [email protected]"; 
} 

有提供更为传统try - 样功能性的各种模块,如Try::Tiny

+2

你错过了;在eval {...}的末尾;声明。出于这样的原因,使用Try :: Tiny通常更容易 – LeoNerd 2012-07-11 18:17:15

4

你可能想要的CPAN模块,如Try::Tiny之一:

use Try::Tiny; 

try { 
    # statement 1 
    # statement 2 
} 
catch { 
    print "Error\n"; 
}; 
相关问题