我知道Using http://msdn.microsoft.com/en-us/library/yh598w02%28v=vs.100%29.aspx语句释放正在创建的对象。就像我想做这样的事情:
Using(SqlConnection conn = new SqlConnection(connString))
{
//some code
//How to show the users if conn is not opened up or generated some kind of error?
}
如果 conn 未打开或生成某种错误,如何向用户显示?
在 a 中编写的代码没有什么特别的using
块 - 只需使用try.catch
处理异常:
using(SqlConnection conn = new SqlConnection(connString))
{
try
{
conn.Open();
// do more stuff here......
}
catch(SqlException sqlEx)
{
// log error and possibly show to user in a MessageBox or something else
}
}
The using(...) { ... }
块本身被设计only确保它“封装”的资源/对象在不再需要时得到正确处理。你对此无能为力using
语句本身以使其处理错误。
因此,如果您预计仅创建对象可能会失败,那么您必须将整个using
块内try ... catch
阻止,或回退到try ... catch ... finally
阻止并确保自己进行适当处置(正如亚当在回答中所建议的那样)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)