我需要从外部数据库中提取一些数据。 我无法访问所有数据,这就是为什么我需要处理访问异常以阻止我的应用程序的执行。 这是提取文档的功能,例如:
public IDocumentListCollection getDocumentCollection(string ProjectID, SearchQuery query)
{
try
{
return DocumentService().FindDocuments("", ProjectID, true, true);
}
catch(Exception e)
{
...
}
}
为了满足我的目的,我需要在集团中写些什么?
答案 0 :(得分:2)
您需要在FindDocuments
内“处理” 1 。
对于您当前的try...catch
- 阻止,您只能执行以下操作:
throw;
)在FindDocuments
停止的地方,您无法重新启动或接听。
[我]需要在
catch
- 块中写一下以满足我的目的吗?
FindDocuments
中没有任何内容可以满足“忽略”或“跳过”权限例外的目的。您需要编辑该方法。
<子> 1。默认情况下,您根本不应该处理例外。
答案 1 :(得分:0)
你有两个不错的选择和一个糟糕的选择
要么在catch块中返回标准IDocumentListCollection,要么删除“try {} catch {}”并让函数抛出异常(并在更高级别处理它)
第三个选项是return null,如果适用,但会使整个异常处理事件无效
答案 2 :(得分:0)
我会试试这个:
public IDocumentListCollection getDocumentCollection(string ProjectID, SearchQuery query)
{
IDocumentListCollection rtnVal;
try
{
rtnVal = DocumentService().FindDocuments("", ProjectID, true, true);
}
catch(Exception e)
{
rtnVal = new DocumentListCollection(); //Or any other stubbed version.
}
return rtnVal;
}
答案 3 :(得分:0)
首先,单击Visual Studio中的“Debug”菜单,然后选择“Exceptions”并关闭所有通知(“Thrown”列)。现在,在调试时不会终止您的应用程序执行(当然,如果处理了异常)