2010-09-20 105 views
2

在我的Application.cfc中,我有一個onError函數,它適用於所有錯誤,除非被調用的頁面缺少結束標記時。拋出的錯誤是InvalidEndTagNestingConfigurationException。我想在應用程序中捕獲這些類型的錯誤。Coldfusion錯誤處理問題

爲什麼onError沒有發現缺失的結束標記錯誤?有沒有辦法來捕捉這些錯誤?

謝謝!

回答

5

這些類型的錯誤沒有被onError捕獲的原因是它的編譯錯誤 - CF解析器甚至無法將模板編譯爲類來運行它們,所以Application.cfc甚至沒有在該時間運行錯誤被拋出。

這些永遠也不會真的發生,因爲你應該已經測試的代碼之前它曾經去住;)

,以確保不會發生這種情況,最好的辦法是使用cfcompile預編譯你的源代碼以找到任何這些編譯時錯誤。編譯器會報告任何編譯時錯誤。它的效率也很高,因爲它只會重新編譯已經更改的模板,所以在第一次之後只需很少的時間。如果你使用Eclipse(好吧,即使你不使用),那麼你可以使set up an Ant task更容易 - 甚至可以在將代碼提交到源代碼控制庫之前將其作爲預先提交的操作。

+0

感謝從來不知道有這樣的事情,比如cfcompile – 2010-09-21 01:40:00