我以前从未需要捕获多个例外.但这是我的情景.我想"尝试"复制文件.如果目的地不存在,我不想被它打扰.但是我仍然希望捕获任何其他类型的异常.例如,UnauthorizedAccessException.以下是我尝试过的两件事,但我已经看到了网上使用的两个例子.是一个比另一个更好的编码.或者我两个都完全错了?谢谢.
catch (DirectoryNotFoundException)
{
// Do Nothing
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
Run Code Online (Sandbox Code Playgroud)
要么
catch (Exception ex)
{
if (ex is DirectoryNotFoundException)
{
// Do nothing
return;
}
else
{
MessageBox.Show(ex.Message);
}
}
Run Code Online (Sandbox Code Playgroud)
恕我直言,有多个catch会降低代码可读性.所以这就是我想提出的建议.
if (Directory.Exists(dirPath))
{
try
{
File.Copy(sourceFile, destFile);
}
catch (Exception msg)
{
//Handle Exception.
}
}
Run Code Online (Sandbox Code Playgroud)