2009-07-20 66 views
2

在Perl中測試時記錄錯誤的最佳方式是什麼?我更喜歡單線解決方案,如在Perl中測試時記錄錯誤的最佳方式是什麼?

return 0 if $var!=3 and $logger->error("Var is not 3")) 

可以像所示的例子實施?

+0

你可能想看看perl中的異常處理:http://www.perlfoundation.org/perl5/index.cgi?exception_handling – Inshallah 2009-07-20 18:54:47

回答

3
$logger->error("Var is not 3"), return 0 if $var != 3; 

這走的是Perl的爲comma operator支持,允許你到零部件到左進行評估,但它們的價值被忽略,與表達是最右邊的終值編寫表達式的優勢。

3

你總是可以這樣做:

$logger->error("Var is not 3") and return 0 if $var != 3 

該技術利用的的低優先級(和如果的還要低優先級)。

0

我更喜歡用鯉魚/ cro魚/懺悔,如果它只是我的調試,但如果你正在做生產代碼,可能試試Log::Report

所以,像這樣的東西:$var == 3 or confess("var != 3!")是我會用,如果我想要一個打印錯誤和堆棧跟蹤的單線程。

0

Log4Perl可能會做你想要的。這是Log4J的Perl克隆。它具有細粒度的動態日誌過濾配置。

0

如果您使用的是Test :: More,請使用diag()。這證明和類似的更好玩。

相關問題