我创建了一个从服务器删除图像的简单方法。删除活动服务器上的图像的正确方法
public static void deleteImage(string deletePath)
{
if (!File.Exists(deletePath))
{
FileNotFoundException ex = new FileNotFoundException();
throw ex;
}
try
{
File.Delete(deletePath);
}
catch (IOException ex)
{
throw ex;
}
catch (Exception ex)
{
throw ex;
}
}
的方法Visual Studio开发服务器上的伟大工程,但是当我尝试一下现场服务器上使用IIS我不断收到一个错误说的资源在使用中。它经过大约10次尝试后最终奏效,但我买不起这个。
也许我需要“锁定”该文件才能在IIS上工作?
谢谢!
为什么你捕捉异常,只是为了抛出它们?另外,最好只做一个'throw;'而不是'throw ex;',这样保持原始堆栈跟踪。 –
我总是处理外层的异常(即调用方法)。所以这个异常就会被抛出,并以任何称为它的方法被捕获。 – TheGateKeeper
如果您删除了try/catch,那么异常仍会传播到上一级。只是一个'catch(Exception ex){throw ex; }'除了破坏原始堆栈跟踪外,没有任何用处。 –