c# – 简单的try / catch没有使用异常

前端之家收集整理的这篇文章主要介绍了c# – 简单的try / catch没有使用异常前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经搜索了我的问题的答案,但没有找到一个.道歉如果答案在那里,我正在复制!

我不断看到try / catch代码如…..

  1. try
  2. {
  3. //Do whatever
  4. }
  5. catch (Exception ex)
  6. {
  7. MessageBox.Show("Oops,something went wrong!");
  8. }

这将导致从不使用警告.

所以我的问题是…虽然ex从未使用过,声明中有什么好处吗?我被告知可能会增加堆栈跟踪的细节?有时候我会看到catch(异常)停止警告,但这带来什么好处?如果我要写这个,不以任何方式使用异常,我不会声明ex …

  1. try
  2. {
  3. //Do whatever
  4. }
  5. catch
  6. {
  7. MessageBox.Show("Oops,something went wrong!");
  8. }

不是一个大问题,但肯定会很好知道!

谢谢

弗雷德

解决方法

您可以使用以下模式,仍然声明特定的异常类型,而不带变量,以确保结构化异常处理(SEH)仍在发生:
  1. try
  2. {
  3. //Do whatever
  4. }
  5. catch (IOException)
  6. {
  7. MessageBox.Show("Oops,something went wrong in the IO!");
  8. }
  9. catch (Exception)
  10. {
  11. MessageBox.Show("Oops,something went wrong!");
  12. }

这不是我通常使用的实践,因为我可能会记录例外细节,如果不重新抛出它.

猜你在找的C#相关文章