carp

    4熱度

    1回答

    如果BUILD方法失敗,我希望我的班級爆炸。但是,如果我使用croak來處理錯誤,則會從Class/MOP/Method.pm中報告錯誤,而不是調用者的代碼。 (也就是說,實例化對象的調用者。)IOW,croak在呼叫樹上沒有吠叫得足夠遠。 看哪: package Test; use Moose; use Carp 'croak'; sub BUILD { croak 'u r

    2熱度

    1回答

    我正在嘗試編寫一個perl單元測試。我能夠測試它的快樂案例情景。但是,如果在方法中生成錯誤,則使用Carp:confess "<message>"打印錯誤。在我的測試中,我無法抓住這個案例。 我嘗試使用 dies_ok(<method call>, 'Expected Error'); 但測試用例仍然失敗。它打印傳遞給鯉魚::懺悔的消息,然後打印 Looks like your test exit

    1熱度

    1回答

    我有一個Plac/Starman應用程序,運行TryCatch語句,從Carp模塊調用'confess'。不過,我注意到,招供輸出沒有打印到標準輸出。我嘗試將STDERR輸出路由到STDOUT'2> & 1',但仍然沒有看到任何東西。我沒有運氣搜索可能的錯誤日誌文件。這種印刷在世界的哪個地方?我相信這可能是一個簡單的答案。日誌文件位於何處?如果有問題,我正在Ubuntu盒子上運行。 謝謝

    6熱度

    2回答

    我有和Can't disable stack trace in Carp::croak() for some reason一樣的問題。因爲堆棧中的每個調用都被認爲是「安全」,所以每次打印完整的堆棧跟蹤。我想禁用某些電話。 下面是一個例子: use Carp; sub this_may_fail { # Some code... croak "This call failed

    4熱度

    2回答

    我們有一些代碼捕獲異常,記錄消息,然後調用Carp::longmess來獲取堆棧跟蹤。 所以我們在做什麼的簡化的觀點是: eval { <some SOAP::Lite stuff> }; if(my $err = [email protected]) { logwrite("Caught Error: $err"); } 的logwrite功能基本上是: sub logwri

    1熱度

    2回答

    我試圖如下面的IETF草案描述實現在Python CARP散列: http://tools.ietf.org/html/draft-vinod-carp-v1-03#section-3.1 具體來說: 3.1。散列函數 散列函數根據以零結尾的ASCII輸入字符串輸出一個32位無符號整數(基於 )。機器名稱和域名 URL的名稱,協議和每個成員 的計算機名稱應以小寫評估,因爲 URL的那部分不區分大小

    1熱度

    2回答

    我試着釣鯉魚警告: carp "$start is > $end" if (warnings::enabled());) 與eval {}但它沒有工作,所以我看了eval文檔中,我發現,這eval僅捕捉語法錯誤,運行時間錯誤或執行死亡陳述。 我怎麼能捕到鯉魚警告? #!/usr/bin/env perl use warnings; use strict; use 5.012; use

    1熱度

    2回答

    從eval中嘗試使用die時,我遇到了一個惱人的問題。 的代碼如下; $status = eval { $self->$func(@{$y->{args}}); }; 在這種情況下 $self->$func指向分離到某個頁面上的錯誤這樣的處理程序 : sub detach { my $self = shift; my $url = shift; my @para

    0熱度

    2回答

    任何人都可以請示例Perl代碼解釋我有關子例程嗎?

    4熱度

    3回答

    我運行了這個測試腳本: use strict; use warnings; use Test::More tests => 3; use Carp; ok(1<2); pass(); fail(); croak "example"; 使用命令行prove -MCarp=verbose -v foo.pl,並得到以下錯誤: Subroutine App::Prove::verbo