SPSite currentSite using try/catch block
本文关键字:catch block try currentSite using SPSite | 更新日期: 2023-09-27 18:29:40
在为sharepoint 2010应用程序编写代码时,有什么更好的方法:
using (SPSite currentSite = new SPSite("SiteName"))
{
using (SPWeb currentWeb = currentSite.OpenWeb())
{
try{...}
catch{...}
}
}
或
try
{
using (SPSite currentSite = new SPSite("SiteName"))
{
using (SPWeb currentWeb = currentSite.OpenWeb())
{
....
}
}
}
catch{...}
非常感谢。
(当在using语句内部抛出异常时,是否仍会调用Dispose?)
评分最高的答案表明,考虑到资源处置,你给出的两个例子都是可以的:
using
将代码封装在try/finally块中,如果存在,finally部分将调用Dispose()
。
因此,剩下的问题可能是资源获取,这可能也会引发异常(与sharepoint合作了几年,似乎这个框架中的所有内容迟早都会引发异常)。所以我建议用你的第二个例子来抓住这些。