[英]exception handling default catch Exception
我有以下代码。 可以有1个catch异常吗? 该片段代码还能抛出什么其他异常?
在异常处理中,为什么我们不能只拥有一个异常并记录所有错误?
try {
if (File.Exists(inputFilename))
{
// do something
File.WriteAllText()
}
else {
// do somthing
}
}
catch (Exception ex)
{
_eventLog.WriteEntry(ex.Message + "\r\n" + ex.StackTrace, EventLogEntryType.Error);
}
谢谢
这段代码可以引发什么其他异常
您可以在功能页(MSDN)中看到所有可能的异常:
为什么我们不能只有一个异常并记录所有错误
如果您想以不同的方式处理异常,则希望捕获不同类型的异常。 例如:
try
{
if (File.Exists(inputFilename))
{
// do something
File.WriteAllText(path, contents);
}
else
{
// do somthing
}
}
catch (DirectoryNotFoundException dirNotFoundEx)
{
MessageBox.Show("Directory does not exist.Try to use diffrent folder.");
}
catch (Exception ex)
{
_eventLog.WriteEntry(string.Format("{0}{1}{2}", ex.Message, Environment.NewLine, ex.StackTrace), EventLogEntryType.Error);
}
}
catch
块的顺序很重要。 看这里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.