請問我在程式中加了錯誤處理,希望程式不要因為發生錯誤而停下來,但是當某些錯誤發生時還是會出現對話方塊要求要按確定才行而且有時只有出現錯誤原因而沒有錯誤碼,請問我該如何做才能把這些錯誤攔下來
1.當adodc連不到資料庫時,出現
[DBNETLIB][ConnectionOpen (connect()).]SQL Server 不存在或拒絕存取
2.資料庫被Admin在a1-unknow機器上設定為防止開啟或鎖定
3.沒有使用權限
錯誤處理程式如下
ERR_p1:
'Dim Msg
' 如果有錯誤狀況發生,就顯示錯誤訊息
'On Error Resume Next ' 改變錯誤處理的方式。
'Err.Clear
'Err.Raise 6 ' 產生一個溢位 (Overflow) 的錯誤狀況。
' 檢查錯誤代碼,顯示相關錯誤訊息。
If Err.Number <> 0 Then
Open "C:\hj_r\log_A.txt" For Append As #1
Print #1, "錯誤碼 " & Str(Err.Number) & Err.Description
Close #1
If Err.Number = 35761 Then
Open "C:\hj_r\log_A.txt" For Append As #1
Print #1, TPCS_no & " 等待時間截止錯誤 "
Close #1
If F_Door = True Then
Resume Next
Else
Exit Sub
End If
Else
Resume Next
End If
End If
1.當adodc連不到資料庫時,出現
[DBNETLIB][ConnectionOpen (connect()).]SQL Server 不存在或拒絕存取
2.資料庫被Admin在a1-unknow機器上設定為防止開啟或鎖定
3.沒有使用權限
錯誤處理程式如下
ERR_p1:
'Dim Msg
' 如果有錯誤狀況發生,就顯示錯誤訊息
'On Error Resume Next ' 改變錯誤處理的方式。
'Err.Clear
'Err.Raise 6 ' 產生一個溢位 (Overflow) 的錯誤狀況。
' 檢查錯誤代碼,顯示相關錯誤訊息。
If Err.Number <> 0 Then
Open "C:\hj_r\log_A.txt" For Append As #1
Print #1, "錯誤碼 " & Str(Err.Number) & Err.Description
Close #1
If Err.Number = 35761 Then
Open "C:\hj_r\log_A.txt" For Append As #1
Print #1, TPCS_no & " 等待時間截止錯誤 "
Close #1
If F_Door = True Then
Resume Next
Else
Exit Sub
End If
Else
Resume Next
End If
End If
文章標籤
全站熱搜

直接放到 ERR_p1: 前面 On Error Resume Next不要mark
請教 如果直接把On Error Resume Next放在前面,是不是就不會執行我的錯誤處理,這樣的話某些錯誤就無法直接做exit sub了
因你在 If Err.Number <> 0 Then . . End If 已做判斷錯誤處理,所以已不需要ERR_p1: 但最好後面適當處再加上On Error Goto 0 將錯誤判斷權交還給系統 或是用 On Error Goto ERR_p1 .程 10 .式 Exit Sub ERR_p1: 錯誤處理 Resume Next (或 Resume 10<--隨便一個數) End Sub
謝謝,我再試看看!