c#使用try-catch捕获异常的最佳实践?
假设我需要运行methodA,而methodA将抛出FormatException.
如果我写这个块: try { methodA(); } catch (Exception ex) { methodB(); } catch (FormatException ex) { methodC(); } 它是否会运行methodC,知道FormatException也是一个Exception,因此将进入methodB的catchblock. 或者这样写它更好: try { methodA(); } catch (Exception ex) { if(ex is FormatException) { methodC(); } else { methodB(); } } 解决方法
不,它不会运行methodC,但是如果你交换了catch的顺序,它会:
try { methodA(); } catch (FormatException ex) { methodC(); } catch (Exception ex) { methodB(); } 引用MSDN:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |