You should be able to trap these errors just as you would with any other run-time error.
Below is a sample of the error handler that I have used in a VB Program using ADO Objects with an Access Database. (The IsEven Function is just here to show the OnError construct used in the application, and how the error handler is called - same procedure used in all functions/procedures in the project)
Global gADO_Connect As New ADODB.Connection
Const ADO_ERROR = -2147467259
'=========================================================
Public Function IsEven(rInt_Value As Integer) As Boolean
On Error GoTo HandleError
IsEven = ((rInt_Value / 2) = (rInt_Value \ 2))
Exit Function
HandleError:
ErrMessage Trim(rInt_Value), "GlobalModule.IsEven"
Resume Next
End Function
'=========================================================
Public Sub ErrMessage(rStr_Err As String, rStr_Title As String)
Dim lRst_Error As ADODB.Error
Dim lStr_Msg As String
Dim lStr_ErrDesc As String
Dim lLng_ErrorNumb As Long
lLng_ErrorNumb = Err.Number
lStr_Msg = "PROC" & vbTab & ": " & rStr_Title & vbCrLf & vbCrLf & _
"REFER" & vbTab & ": " & rStr_Err & vbCrLf & vbCrLf & _
"ERROR" & vbTab & ": "
If (Err.Number = ADO_ERROR) Then
For Each lRst_Error In gADO_Connect.Errors
lStr_ErrDesc = lRst_Error.Description
If (Left(lStr_ErrDesc, 32) = "[Microsoft][ODBC Driver Manager]"

Then
lStr_Msg = lStr_Msg & "[Microsoft][ODBC Driver Manager]" & vbCrLf
lStr_ErrDesc = vbTab & ": " & Mid(lStr_ErrDesc, 34)
End If
lStr_Msg = lStr_Msg & lStr_ErrDesc & vbCrLf & vbCrLf & vbTab & _
" (Source" & vbTab & vbTab & ": " & lRst_Error.Source & "

" & _
vbCrLf & vbTab & _
" (SQL State" & vbTab & ": " & lRst_Error.SQLState & "

" & _
vbCrLf & vbTab & _
" (NativeError" & vbTab & ": " & lRst_Error.NativeError & "

" & vbCrLf
Next
Else
lStr_Msg = lStr_Msg & Err.Number & " -- " & Err.Source & vbCrLf & Err.Description
End If
lStr_Msg = lStr_Msg & vbCrLf & vbCrLf & "ACTION" & vbTab & ": " & _
"Please Notify System Administrator"
MsgBox lStr_Msg, vbExclamation + vbOKOnly, "An Error Has Occurred"
End Sub
Good Luck
--------------
As a circle of light increases so does the circumference of darkness around it. - Albert Einstein