C# 文件复制方法
下面的代码是否可能不会引发任何异常,也不会复制文件C# 文件复制方法,c#,.net,C#,.net,下面的代码是否可能不会引发任何异常,也不会复制文件 void Copy2(string from, string to) { lock (_thisLock) { if (File.Exists(from)) { File.Copy(from, to, true); return; } Logger.Write("File does not exists"); } } 客户表示应用程序不会崩溃,不会复制任何
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当然,如果文件不存在-
(!file.Exists)
,则不会调用文件.Copy
Logger.Write
不算例外
如您的更新所示,如果日志中没有任何内容,我将再次检查
Logger.Write
函数。它的实施是否正确?是否在该方法中引发和处理异常?这比File.Copy
在不引发异常的情况下失败的可能性更大。当然,如果该文件不存在-(!File.Exists)
,则不会调用File.Copy
Logger.Write
不算例外
如您的更新所示,如果日志中没有任何内容,我将再次检查
Logger.Write
函数。它的实施是否正确?是否在该方法中引发和处理异常?这比File.Copy
在不引发异常的情况下失败的可能性更大。如果文件不存在且未配置记录器附加器,则可能会出现您描述的情况-即,如果文件不存在且未配置记录器附加器,则不会发生错误,也不会记录日志,然后,您描述的情况可能会发生,即没有错误,没有日志记录。查看您可以看到,它引发了很多异常。让您知道,在堆栈上方捕获异常的任何东西都能正确地处理该异常/错误,而不是简单地吞咽它。查看您可以看到它抛出了相当多的异常。让您知道,在堆栈上方捕获异常的任何东西都能正确地处理该异常/错误,而不是简单地吞咽它如果“from”文件不存在,它不会做任何事情,但我假设这不是您的问题……您能再次检查记录器配置吗?如果“from”文件不存在它不会做任何事情,但我假设这不是您的问题…您可以再次检查记录器配置吗?记录器的类型是Microsoft.Practices.EnterpriseLibrary.Logging.logger然后您需要确保已正确配置记录器。查看有关使用MSEL日志框架的相当详细的概述。记录器的类型为Microsoft.Practices.EnterpriseLibrary.Logging.Logger然后需要确保已正确配置记录器。查看有关使用MSEL日志框架的相当详细的概述。