2012-11-08 87 views
1

警告 - 我不是在尋找一個約supressing錯誤講座:)如何在PHP中實例化類時抑制錯誤輸出?

我實例化Imagick()類的PHP腳本。當請求的頁面不存在於PDF中時,它會輸出一個錯誤。我知道這個錯誤。我知道它爲什麼會發生,我不相信有一種方法可以避免它出現在我的代碼中,因爲它是處理器密集型的,可以爲大型PDF加載完整文件,而且我只處理PDF的前幾頁(see this question if you think you have a solution to my Imagick problem )。

我想要像使用PHP函數(@php_function())那樣來抑制錯誤輸出。也許這是不可能的。

這是在錯誤輸出:

Requested FirstPage is greater than the number of pages in the file: 2 
No pages will be processed (FirstPage > LastPage). 

我怎麼會去這樣做是否有可能?

我已經試過這兩個東西,但實現Imagick類不在這裏輸出標準的PHP錯誤:

$Image = @new Imagick($this->file_path_pdf . '[5]'); 
$Image = new @Imagick($this->file_path_pdf . '[5]'); 
+0

你有沒有嘗試用'try/catch'封裝它? –

+0

它被封裝在我的代碼中的try/catch中,但這不是一個例外,它是Imagick類的實際輸出)。 –

+0

我只是面臨同樣的問題。我無法抑制這個「錯誤」輸出。捕捉異常的作品,但「消息」後消息。另外ob_start不起作用。 – Laurent

回答

1

把括號周圍的表達應該工作:

$Image = @(new Imagick($this-file_path_pdf . '[5]')); 

try/catch只適用於例外。

+0

不適用於此特定的錯誤輸出。 Imagick課程可能是不可能的。我可以深入課堂代碼。 –