我有以下代码:
if (filesxt.Extension.ToString()==".rar")
{
NUnrar.Archive.RarArchive.WriteToDirectory(Sourcepath, Destination,
NUnrar.Common.ExtractOptions.ExtractFullPath |
NUnrar.Common.ExtractOptions.Overwrite);
}
else if (filesxt.Extension.ToString() == ".zip")
{
UnZipFromMTAThread(Sourcepath, Destination);
}
当文件扩展名为 .rar 且NUnrar.Archive.RarArchive.WriteToDirectory
引发异常时,我想执行以下方法:
ExtractFile(Sourcepath, Destination);
我该怎么做?有人可以帮忙吗?
答案 0 :(得分:2)
如果您需要在代码中处理意外的异常,那么您可以使用try/catch
。
简单地说,你基本上说“尝试这段代码,如果发生异常,那么捕获异常并执行不同的代码”。
所以你想把你的WriteToDirectory
电话放在试试中,然后把你的ExtractFile
放在 catch 中。
这样的事情应该适用于你需要的东西:
try
{
NUnrar.Archive.RarArchive.WriteToDirectory(Sourcepath, Destination,
NUnrar.Common.ExtractOptions.ExtractFullPath |
NUnrar.Common.ExtractOptions.Overwrite);
}
catch (Exception e)
{
ExtractFile(Sourcepath, Destination);
}