以下代码是否可以抛出任何异常并且不复制文件?
void Copy2(string from, string to)
{
lock (_thisLock)
{
if (File.Exists(from))
{
File.Copy(from, to, true);
return;
}
Logger.Write("File does not exists");
}
}
客户说应用程序不会崩溃,也不会复制任何文件,也不会写入日志。
记录器的类型为Microsoft.Practices.EnterpriseLibrary.Logging.Logger
。
答案 0 :(得分:3)
当然,如果该文件不存在 - (!File.Exists)
- 则无法达到File.Copy
来电。
Logger.Write
不算作例外。
如果您的更新建议日志中没有任何内容,我会仔细检查Logger.Write
功能。它是否正确实施?是否在该方法中抛出和处理异常?没有抛出异常,这比File.Copy
失败更有可能。
答案 1 :(得分:0)
如果文件不存在且未配置任何记录器附加程序,则可能会出现您描述的情况 - 即没有错误,没有记录
答案 2 :(得分:0)
查看MSDN for File.Copy您可以看到它引发了一些例外情况。让你捕获堆栈上方的异常正确处理异常/错误而不是简单地吞下它