2011-03-01 42 views
3

當我編程時(HTML + PHP),我想做適當的錯誤生成器。 我怎樣才能把這條線,當我有一個錯誤,並把一個變量?如何在自定義錯誤消息中包含php源代碼的行數?

實施例:

回聲 「錯誤#03:可變未定義線#」。$線 「」;

謝謝。

+0

你想抑制PHP產生的錯誤,並創建自己的?如果沒有,啓用PHP生成錯誤的設置是[here](http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting),以及一個相關的問題[here] (http://stackoverflow.com/questions/4481183/php-display-errors)。 – JYelton 2011-03-01 21:54:05

+0

@JYelton:是的,我想生成我自己的 – HulkThor 2011-03-01 21:56:20

+0

+1:很好的問題,我想知道如何獲得自己的行數... – JYelton 2011-03-01 22:07:47

回答

2

你會尋找的變量是:

__LINE__ 
__FILE__ 
__FUNCTION__ 
__CLASS__ 
+0

誰upvoting?爲了OP的目的,使用它們的常量是不可能的。 – 2011-03-01 22:09:15

0

假設您指的是PHP編譯時錯誤和警告,行號會自動顯示。由於這些消息是在編譯時生成的(因此會導致腳本不能完全執行),所以我建議使用默認消息而不是使用自定義解決方案。

如果PHP不顯示錯誤消息,使用以下代碼來顯示所有頁面上的PHP錯誤消息和警告的:

error_reporting(E_ALL); 
2

有包含該行,其中一個預定的常數,__LINE__它實際上被稱爲。

但是,我猜trigger_error()函數完全適合「錯誤發生器」這個術語,因此正是您在尋找的。
它不僅會顯示一行和一個文件以及一個時間戳,還會遵循PHP錯誤報告設置的一般行爲,這非常重要 - 您不應該隱式地回顯錯誤,而應將其放入標準錯誤流

爲自定義錯誤處理程序還有一個debug_backtrace()函數。

相關問題