【发布时间】:2015-01-06 13:39:33
【问题描述】:
在我详细说明我的问题之前 - 我不是专业的程序员/编码器,但最近的一个项目涉及大量读取文件、写入文件、将文件移动到文件夹等,我想知道如何最好地处理来自多个来源(所有这些都是文件/文件夹读取/写入)。
该项目在某些基于文件的操作上具有基本的“重试”功能,它会休眠一到两秒钟,然后重试 X 次 - 然后它会抛出一个消息框,基本上说明它无法执行它。
有没有办法接受任何/所有文件/文件夹访问异常,为其创建一个“重试”例程 - 让它重试之前尝试做的事情(但失败了),然后最终放弃并提醒某人 - 或这是每个文件操作都应该做的事情吗?
我想我的想法是,对于许多应用程序,如果操作失败 - 应用程序知道它之前在做什么并可以重试它 - 而不是编写相同的“重试”代码(修改代码基于尝试了什么操作)- 是否可以有一个例程来重试它?
我什至不确定这是否可能,更不用说推荐了。
“重试”代码非常基本,如下所示:
int retrycount = 3;
int retries = 0;
while (retries < retrycount)
{
try
{
File.Copy(SomeFile, SomeOtherFile);
}
catch (Exception e)
{
// Try Again
retries++;
}
if (File.Exists(SomeOtherFile) == true)
{
break;
}
}
稍后,“重试”用于确定它是否完全失败(重试 == 重试计数)并在发生这种情况时发出警报。
如果有人可以提供任何建议,或者即使只是告诉我我的想法是可能的 - 不建议这样做,会有所帮助。
【问题讨论】: