3
例如,如果提供不正確的證書,我的數據庫連接例程可能會失敗。 在這種情況下,將拋出一個通用的OleDbException,ErrorCode爲-2147217843。 該消息給出了一個錯誤,如如何在錯誤代碼中捕獲有趣的細節的異常?
No error message available, result code:
DB_SEC_E_AUTH_FAILED(0x80040E4D)
我該如何理解?使用錯誤代碼-2147217843似乎有點「幻數」。
Try
mCon = New OleDbConnection(connectionString)
mCon.Open()
Catch ex As OleDbException
If ex.ErrorCode = -2147217843 Then
Engine.logger.Fatal("Invalid username and/or password", ex)
Throw
End If
Catch ex As Exception
Engine.logger.Fatal("Could not connect to the database", ex)
Throw
End Try
當然,因爲錯誤值是用十六進制定義的,所以你可以使用十六進制爲你的枚舉(0x80040E4D爲C#,&H80040E4D爲VB) – AAT 2010-04-21 14:11:09
是的,好點。 – 2010-04-21 14:32:46