回复 7# afan
老實說 我的能力有限 實在 不能理解 何謂 所有的 AUTOIT 錯誤 都可以攔截
舉個 簡單點的例子 來說.......
數組 很常用 可是 有時候 因為資料載入的時候 經常 會發生 一種情況
就是 數組的組數 出問題
譬如 下面的例子 AU3 就會直接出錯 無法攔截 不是??
Global $iEventError = 0 ; 如果檢查 COM 錯誤發生. 檢查處理後必須復位.
Local $oMyError = ObjEvent("AutoIt.Error", "ErrFunc") ; 建立客戶錯誤處理常式
DIM $A[3]
FOR $i=0 TO 3 Step 1
$A[$i]=0
Next
; 這裡執行一個預設故障(物件不存在)
Local $oIE = ObjCreate("InternetExplorer.Application")
$oIE.visible = 1
$oIE.bogus
If $iEventError Then
MsgBox(48, "", "上一行中有一個錯誤")
$iEventError = 0 ; 顯示發生的 COM 錯誤後重定
EndIf
Exit
; 這是一個自訂的錯誤處理常式
Func ErrFunc()
$sHexNumber = Hex($oMyError.number, 8)
MsgBox(48, "", "截獲一個 COM 錯誤 !" & @CRLF & _
"錯誤代碼: " & $sHexNumber & @CRLF & _
"錯誤描述: " & $oMyError.windescription)
$iEventError = 1 ; 用於 COM 錯誤發生時的檢查
EndFunc ;==>ErrFunc
|