VB 如何捕捉全域例外?
uj5u.com熱心網友回復:
下鉤子,捕獲uj5u.com熱心網友回復:
什么叫全域例外?on error goto errhandler
在任何模塊里都可以用啊
uj5u.com熱心網友回復:
樓主是想在工程某處寫一句代碼,然后捕獲整個工程運行時出現的錯誤加以處理么?不行, 至少VB6不行
uj5u.com熱心網友回復:
mark。也想知道。vb的函式都沒有像java那樣有throw修飾。那有時突然冒出個err把程式都掛起了uj5u.com熱心網友回復:
查一下相關API吧,可以的uj5u.com熱心網友回復:
VB6的運行時錯誤只能用VB6的錯誤陳述句捕捉吧.非VB6的錯誤,比如記憶體讀寫權限之類的錯誤,可以用SEH來搞定.
uj5u.com熱心網友回復:
這個真沒有!很可能是微軟故意的,當年要推 COM 模型么。
意思就是:小模塊都寫不好,就想寫程式了,趕緊回爐重修去!
uj5u.com熱心網友回復:
應該修改vb的錯誤鉤子就可以用一個代碼段處理全域例外了吧。需要修改行程在記憶體的映像的匯入表部分的。。。部分,時間久了記不住了。
每個vb子程式,在子程式開始的一段代碼都有編譯器放進去的一段代碼,用于捕獲例外。
如果用了on error。。。這樣的自定義例外處理程式,編譯器加入的這個代碼部分會變化,用程式員自己的例外處理程式替代默認的處理程式。
默認編譯器加入的代碼,是由vb的例外處理程式處理的,其實就是一個函式(地址從匯入表可以查到),如果把匯入表內這個地址修的內容修改為自己模塊中的某個子程式的地址,就可以處理所有(整個行程)的例外。
uj5u.com熱心網友回復:
http://topic.csdn.net/t/20040418/21/2980639.htmluj5u.com熱心網友回復:
支持一下,感覺9樓的回答比較接近樓主的意圖轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/121689.html
標籤:多媒體
