我需要知道如何在Perl中自定義我自己的錯誤。舉例來說,這裏的一些代碼:Perl - 自定義錯誤輸出
my $filename = 'filaname1.exe';
print "Copying $filename";
copy("$dir_root\\$filename", "$spcl_dir\\$filename");
if ($? == "0") {
print " - Success!\n";
}
else { print " - Failure!\n"; }
我試着寫這和「catch」錯誤並打印「失敗」時,我沒有得到的退出代碼0,並打印「成功」當我做。我需要知道我可以如何定製這個;我真的不想使用die
或類似的東西,它會給(最終用戶)一個有點神祕的錯誤。
謝謝!
在/ path/names中使用/斜槓/不\ \ \\反斜槓\\\\。 – tchrist 2010-11-26 00:15:53
如果`死亡'給出了神祕而難以理解的信息,那麼你就是因爲你正在將這個神祕的論點傳遞給'死亡'。你沒有別的責任。 – tchrist 2010-11-26 00:17:56
這些** **錯誤信息。一個很好的錯誤信息[1]轉到`STDERR` [2]包含`$ 0`,至少遇到錯誤的程序名稱,也許函數名稱;內部錯誤通常也會給出一個堆棧跟蹤[3],包括`$!`,標準系統錯誤信息,或者可能是`$?`或`$ @`,否則[4]表示失敗的系統調用的名稱[5 ]列出你給這個電話的參數。您的信息忽略了這五條良好錯誤信息規則中的全部或幾乎全部。 – tchrist 2010-11-26 00:21:49