大家都听说过一个短语叫做不按套路出牌。这个多用来说创新或者说不按照常规做事却做成了,而且很让人惊
讶。 比如古代打仗也有不按兵法,出其不意取胜的;现代抗日电视剧《亮剑》李云龙就是个典型不按套路打仗的
人,敌人闻之丧胆。 类似的例子数不胜数,可是要在编程中,遇到类似的事情可能会使我们辛苦编写的软件成为肉
鸡。那我们该怎么办才好呢?
在软件开发过程中由于考虑不周,程序运行时可能不按照常规出牌,我们不能保证有些错误或不足不会出现。但
为了最大程度来减少这些错误,我们编写足够强壮的代码来处理这些错误,而不必中断程序的执行。兵来将挡,水来
土掩。我有try-catch-finally利剑,看你能奈我何?
C#包含结构化异常处理的语法(SEH),3个关键字try-catch-finally 来标记能处理异常的代码和指令。如果发
生异常就可以使用这些指令来处理异常。
try{ ……}catch(<exceptionType> e){ ……}finally{ ……}
简单了解各个代码块:
try 代码块:包含导致可能产生异常的代码
catch代码块:包含当出现异常时需要执行的代码
finally代码块:包含总是会执行的代码
三者存在关系:
1、三者可以同时存在
2、只有try块和finally块,而没有catch块(无catch块时,必须有finally块)
3、有一个try块和好几个catch块执行情况:
①在发生异常的地方中断程序的执行
②如果有catch块存在,就检查它里面是否有匹配的异常的类型,没有的话,就执行finally块;如果没有catch块,则执行finally块。
代码示例:
class Program { static void Main(string[] args) { try { Console.WriteLine("Executing the try statement."); throw new NullReferenceException(); } catch (NullReferenceException e) { Console.WriteLine("{0} Caught exception #1.", e); } catch { Console.WriteLine("Caught exception #2."); } finally { Console.WriteLine("Executing finally block."); } Console.Read(); } }
- 1楼u01304700558分钟前
- 不按套路出牌,总结的不错啊,c#努力去掌握啦