gpt4 book ai didi

c# - C# 中 "catching"两种不同类型异常的两种不同方式。一个比另一个好吗?

转载 作者:行者123 更新时间:2023-11-30 13:17:42 26 4
gpt4 key购买 nike

我以前从未需要一次捕获多个异常。但这是我的情况。我想“尝试”复制一个文件。如果目的地不存在,我不想被它打扰。但我仍然想捕获任何其他类型的异常。例如 UnauthorizedAccessException。以下是我尝试过的两件事,但我已经在网上看到了这两个示例。一种编码比另一种更好。还是我在两者上都完全错了?谢谢。

        catch (DirectoryNotFoundException)
{
// Do Nothing
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

        catch (Exception ex)
{
if (ex is DirectoryNotFoundException)
{
// Do nothing
return;
}
else
{
MessageBox.Show(ex.Message);
}
}

最佳答案

恕我直言,有多个 catch 会降低代码的可读性。所以这就是我想提出的建议。

if (Directory.Exists(dirPath))
{
try
{
File.Copy(sourceFile, destFile);
}
catch (Exception msg)
{
//Handle Exception.
}
}

关于c# - C# 中 "catching"两种不同类型异常的两种不同方式。一个比另一个好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6768865/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com