2014-05-14 91 views
1

我在一個基本上沒有任何錯誤處理的經典ASP網站上進行維護。因此,用戶可以看到任何出現的錯誤消息......相反,我希望我的代碼能夠捕獲任何潛在的錯誤,然後在將用戶重定向到更友好的錯誤頁面之前觸發電子郵件。經典ASP錯誤處理:出錯後調用函數?

這個網站相當大,每個網頁在開頭都有相同的包含文件...所以理想情況下,我想從這個包含文件的開頭設置一個錯誤處理程序。我沒有任何運氣找到一種方法來做到這一點,而不必通過每個頁面單獨處理在腳本的末尾發生錯誤處理......是否有可能的方式來從包含文件中編寫類似這樣的代碼?

' Include file contents: 

Function MyHandler() 

    'Code for triggering email goes here 

    response.redirect "ErrorPage.asp" 

End Function 

On Error call MyHandler() 

在此先感謝!

+0

上面的代碼實際上並不工作......這只是一個示例,顯示了我正在尋找的基本想法。 我儘快解決錯誤......但這會簡化這一過程。但是,嚴重的......擁有2500多頁的代碼和每週40個小時的新發展和變化,總會遇到至少一些錯誤。 – justanotherguy

+1

自從我使用ASP以來已經有一段時間了。但是我認爲On Error Resume Next的東西能夠抓住它。這個SO回答可能實際上有幫助:http://stackoverflow.com/questions/2202869/what-does-the-on-error-resume-next-statement-do – durbnpoisn

+0

謝謝,但那不是我所要求的。這是一個典型的錯誤處理程序,但我要求的並不是典型的。我問,一旦發生第一個錯誤,是否可以調用函數(或子函數)。這樣我就可以很容易地將它插入網站。 – justanotherguy

回答

1

我建議在IIS(Web服務器)中使用自定義錯誤頁面,如果您有權訪問這些頁面。如果你喜歡,你可以將不同類型的錯誤重定向到不同的腳本,或者將它們全部指向單個腳本,並且在那裏有所有錯誤代碼的邏輯。

您可以在那裏發現常見錯誤,並可能將用戶重定向到替代頁面/站點,或者返回特定錯誤消息。我建議使用自定義錯誤頁面來記錄錯誤和會話中的某些信息(例如表單提交數據,查詢字符串,引薦網址,cookies等)和/或發送通知電子郵件給某個服務帳戶,以識別正在發生的特定問題,然後還有事情要繼續實際解決問題的許多錯誤。