如何过滤掉捕获块
本文关键字:过滤 何过滤 | 更新日期: 2023-09-27 17:54:48
我需要return false
防止日志记录,如果SP.ServerException
已经抛出。但在所有其他情况下,我也需要做日志和return false
。
try
{
folder = GetFolderByRelativeUrl(folderRelativePath);
}
catch (SP.ServerException serverEx)
{
//if file is not found the logging is not need
if (serverEx?.Message == "File not found")
{
return false;
}
//how i can go from here
}
catch (Exception ex)
{
//to there
Log(ex.Message);
return false;
}
我知道答案是
try
{
folder = GetFolderByRelativeUrl(folderRelativePath);
}
catch (Exception ex)
{
//if file is not found the logging is not need
if (!(ex is SP.ServerException && ex?.Message == "File not found"))
{
Log(ex.Message);
}
return false;
}
尝试when
关键字:
try
{
folder = GetFolderByRelativeUrl(folderRelativePath);
}
catch (SP.ServerException serverEx) when (serverEx.Message == "File not found")
{
return false;
}
catch (Exception ex)
{
//to there
Log(ex.Message);
return false;
}
在c# 6中,你可以过滤异常:
catch (SP.ServerException ex ) when (ex.Message == "File not found")