2008-09-15 39 views

回答

6

不,沒有辦法在VB6中添加全局錯誤處理程序。但是,您不需要在每種方法中添加錯誤處理程序。你只需要在每個事件處理程序中添加一個錯誤處理程序。例如。每一次點擊事件,加載事件等

+0

但是,在一個類中的普通方法,可能會做一些計算,並拋出一個溢出錯誤呢? – ravi 2008-09-15 17:52:13

+1

在VB6應用程序中,一旦顯示錶單,與該應用程序的所有交互在調用堆棧的頂部都有一些事件處理程序,正如Brad Richards所說,錯誤向上傳播。唯一需要處理程序的非事件處理程序是Sub Main。 – 2008-09-15 18:13:59

-3

錯誤恢復下一個 - 有點接近,但它已經有一段時間了。 你可能想查找任何注意事項

1

此外:錯誤向上傳播:如果方法X調用方法Y和Z,則方法X中的單個錯誤處理程序將覆蓋所有三種方法。

2

雖然錯誤向上傳播,但VB6無法執行堆棧跟蹤,因此您永遠不知道哪種方法會引發錯誤。不幸的是,如果你需要這些信息,你必須爲每個方法添加一個處理程序來記錄你的位置。

http://www.everythingaccess.com/simplyvba-global-error-handler.htm

這是一個商業產品,使全局誤差在VB6和VBA應用程序中處理:

0

昨天我發現這個工具。

它有它的成本,但完美地完成它的工作。我已經看到了其他工具(免費)幫助VB6破解,但沒有一個能夠覆蓋真正的全局錯誤處理,如「SimplyVB6全局錯誤處理程序VB6」。使用「用於VB6的SimplyVB6全局錯誤處理程序」,不需要更改任何現有代碼行,也不需要對代碼行進行編號(通過插件或其他東西)。 只需啓用全局錯誤處理(主模塊中的一行代碼)即可完成設置。

「爲VB6 SimplyVB6全局錯誤處理程序」:

  • 可以顯示與真正的模塊和函數名調用堆棧,以及顯示所述源代碼行。
  • 僅適用於P代碼編譯的VB6程序。
  • 可以通過早期或晚期綁定(無DLL地獄)工作。

我不隸屬於任何www.everythingaccess.com方式,只是高興地發現它昨天下午,在這個問題一種期待再次爲我的一個客戶是有我們的VB6應用程序錯誤。我能夠在昨天下午測試該工具,與www.everythingaccess.com支持交換電子郵件並獲得每封郵件的評估產品。 他們的網站不允許下載VB6產品的評估版本,您必須通過電子郵件發送給他們,但他們在不到一個小時的時間內回覆。

相關問題