3
A
回答
7
將您的結束塊放在eval { .... }
之內 - 這應防止您描述的行爲。
#!/usr/bin/perl
print("hi there!\n");
END {
eval{
print("goodbye\n");
die("this can't hurt....");
};
#detect if an error occurred in the eval
if ([email protected]){
print ("an error occurred: [email protected]\n");
}
}
3
Try::Tiny
是eval
一個很好的包裝,讓您明確地處理運行時異常。
5
將您的代碼放入eval塊中,如果您想檢索die提供的錯誤消息,您可以使用if條件以外的條件捕獲。
#!/usr/bin/perl
my $val=1;
eval
{
print "Inside Eval\n";
if($val == 1)
{
die "hello world\n";
}
print "End of Eval\n";
};
if ([email protected])
{
print "Error message - [email protected]" . "\n";
}
+0
爲了顯示如何選取錯誤而做的+1做得很好 - 爲了完整性,我也給了我答案。 –
相關問題
- 1. 忽略JMeter中的錯誤
- 2. 忽略R中的錯誤
- 3. Perl中的BEGIN,CHECK,INIT和END塊
- 4. 忽略perl中的空行?
- 5. perl製作忽略DESTDIR
- 6. 如何忽略perl中的'Certificate Verify Failed'錯誤?
- 7. 等同於Ruby中的END END塊
- 8. rxjs:switchMap忽略錯誤
- 9. 在Perl中忽略'Unclosed Token'
- 10. SonarQube PHP // @ codingStandardsIgnoreStart/End等效代碼塊忽略
- 11. 的file_get_contents忽略錯誤
- 12. 忽略Jest的錯誤
- 13. 忽略塊中的問題
- 14. 如何正確地忽略PowerShell中的導入模塊錯誤
- 15. 忽略模塊
- 16. Perl的DBI - 忽略輸出
- 17. Perl:如何提取從「IF」開始到「END-IF」的行的範圍,忽略以*
- 18. 忽略file_get_contents HTTP包裝中的錯誤?
- 19. 忽略yacc/lex中的錯誤
- 20. 忽略SSIS中數據源的錯誤
- 21. Excel中的「忽略錯誤」XML
- 22. 忽略DefaultHttpClient中的ssl錯誤
- 23. 忽略ForEach-Object循環中的錯誤
- 24. 忽略Webpack-dev-server中的Typescript錯誤
- 25. 如何忽略datastore.Query.GetAll()中的錯誤?
- 26. 忽略Applescript中的shell腳本錯誤
- 27. 如何忽略SaveChange EF4中的錯誤
- 28. 忽略觸發器中的錯誤
- 29. Twilio忽略PHP庫中的錯誤
- 30. QT [install_target]錯誤1(忽略)
太好了,這是訣竅。似乎並不適用於eval內的「exit(..)」? – OneSolitaryNoob
@OneSolitaryNoob你不能通過'eval'來捕獲'exit'。 – dgw