我使用文件类型的默认应用程序启动一个进程,但如果用户删除了他的默认应用程序,则会引发 Win32Exception。此外,还有其他情况会引发 Win32Exception,例如,如果用户无权打开默认应用程序。
现在我正在寻找区分异常的最佳方法。
我如何检查究竟抛出了哪个异常?是通过异常消息检查它的唯一方法吗?
我像这样抓住它:
try
{
process.Start();
}
catch (Win32Exception exc)
{
//How to check which exception exactly is thrown?
return return string.Format("Process cannot be started", exc.Message)
}
这是第一个想法,但我认为有更好的方法来完成这项任务:
catch (Win32Exception exc)
{
if(exc.Message == "Application not found")
{
//Do something
}
else if(exc.Message == "Another exception")
{
//Do something else
}
}