我说的是每次丢失互联网连接或每次服务器脱机时都会出现此错误消息:
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:共享内存提供程序,错误:40 - 无法打开与SQL Server的连接)
我想知道为此显示友好错误消息的最佳方式。实际上,这就是我所做的:
Try
Using conn As New SqlConnection(ConnectionStrings("ConnectionName").ConnectionString)
Dim command As SqlCommand = conn.CreateCommand()
conn.Open()
Dim transact As SqlTransaction = conn.BeginTransaction()
command.Transaction = transact
Try
'codes to execute
transact.commit()
Catch ex As SqlException
transact.rollback()
'display error
End Try
End Using
Catch ex As SqlException
'display friendly error message
End Try
每次使用sqlconnection时我都需要这样做。有没有办法制作一个代码块,可以在我的所有页面上处理这个错误的所有实例?
答案 0 :(得分:1)
如果您需要在一个块上处理错误,最好的地方是global.asax Application_Error
方法。在那里,您可以通过以下方式检查例外:
Exception ex = Server.GetLastError();
答案 1 :(得分:0)
我认为这是最实用的方法。有时您需要显示不同的错误消息或不同的方法,即使它们具有相同的异常。
你也可以试试这篇文章http://www.4guysfromrolla.com/articles/081209-1.aspx但是请注意,重定向有时不是一个很好的选择,可以说你的网站出了问题,特别是在用户填写表单的页面中,你没有希望他失去进步,是吗?
如果您使用的是SqlDataSource http://forums.asp.net/t/978920.aspx/1