Интересный вопрос!
Я обычно не выполняю транзакции базы данных из классического ASP, поэтому я не уверен, что conn.Errors будет перехватывать ошибки перед ASP-скриптом. Но ты можешь хотя бы попробовать ...
IF conn.Errors.Count > 0 THEN
response.write "whoops"
END IF
В противном случае это может помочь вам узнать, что On Error Resume Next действует только в текущей области. (см. код ниже)
<%
response.write "start"
BadFunction()
response.write "middle" '//<--- This will be printed
dim b : b = 8 / 0 '//Division by zero
response.write "end" '//<-- This will NOT be printed!
Function BadFunction()
On Error Resume Next
dim a : a = 9 / 0 '//Division by zero
BadFunction = a
End function
%>