我有一段代码来查看网络共享。一个错误是UnauthorizedAccessException,如果我需要使用基本身份验证登录来访问共享,就会出现这种情况。
因为如果你在异常时弹出窗口时登录会出现这个问题,那么这是否属于可以处理的异常?此外,写一下这是个好主意:
string[] directories = null;
try
{
directories = Directory.GetDirectories(path);
}
catch (UnauthorizedAccessException unauthorizedAccessException)
{
Logger.Error(unauthorizedAccessException.Message, unauthorizedAccessException);
MessageBox.Show("An error has occur. Please check that you do not need to sign in to access the share. " + unauthorizedAccessException.Message, UiConstants.MessageBoxTitle, MessageBoxButtons.OK, MessageBoxIcon.Error)
}
......更多代码在这里...
或者,在try块中,插入所有代码。我的印象是,如果异常可以恢复,那么catch块下面可能有代码。构建此类代码的最佳方法是什么?
答案 0 :(得分:0)
在我看来,try / catch块是一个非常好的指示器,内部代码正在执行一个单独的“动作”,因此,在catch之后放置更多东西往往会导致您违反方法的单一责任理论。
我经常看到有2个,3个,4个堆叠的try / catch块的方法,这总是表明代码做得太多了。