我正在制作一个网站,我使用实体框架连接到数据库。 我应该放一个
try
{
var query = from es in gr.sales
orderby es.tilbudsNavn
select es;
}
catch
{
lblError = "Sorry but you can't connecto to the database right now, try again later";
}
围绕我所有的数据库连接??
答案 0 :(得分:3)
可能不会 - 除非您想忽略无法连接到数据库的情况(这可能会使其无效)。一些适当的错误处理,你重定向到一个错误页面,如果可能的话,执行某种通知(即发送一封电子邮件,其中包含错误的详细信息)将会更有用。
答案 1 :(得分:1)
您应该从一个地方管理对数据库的访问。并且,是的,在那个单独的地方,connect-statement应该用try-catch包围,以便于记录和错误报告。
答案 2 :(得分:0)
使用try catch语句来处理任何可能的错误总是一个好主意。文件处理,数据库处理,与您的应用程序的任何i / o通常是一个好主意包装错误处理代码,希望可以恢复错误或退出信息性消息和通知用户和管理员。
答案 3 :(得分:0)
只有您可以在catch
子句中执行有用的操作。绝不使用空的catch子句,因为这将吞下所有db错误。
答案 4 :(得分:0)
答案 5 :(得分:0)
http://blogs.msdn.com/b/ericlippert/archive/2008/09/10/vexing-exceptions.aspx
Eric Lippert有一篇关于例外的好文章。它描述了应该捕获的内容和不应该捕获的内容。
至于你的例子,我将数据库连接异常放入应该捕获的“外生”类型。至少对于正确的错误处理,如果数据库访问很重要,请使用适当的消息/日志记录关闭应用程序。