【C#】小心使用Try,Catch,finally
2011-09-02 10:40
330 查看
(1) 使用try{}finally{}
在有返回值的函数中使用try{}finall{},未使用catch捕获异常,程序将崩溃:public static int GetNumber() { int i=0; try { int j =0; i = 5/j;//引发异常 } finally { Console.WriteLine("输出来自方法GetNumber的finally块"); //return -2;//finally中不能含有return语句 } return i; } public static void Main() { int i =GetNumber();//发生异常并且未捕获,未能获得返回值 Console.WriteLine("number:{0}",i); Console.ReadKey(); }
ouput:
在Main方法中添加异常处理,使得程序发生异常时不崩溃:
public static void Main() { try { int i =GetNumber();//发生异常并且未捕获,未能获得返回值 Console.WriteLine("number:{0}",i); } catch { Console.WriteLine("输出来自main的catch块"); } finally { Console.ReadKey(); } }
output:
(2) 使用try{}catch{}finally{}
在方法GetNumber中添加catch块捕获异常:public static int GetNumber() { int i=0; try { int j =0; i = 5/j;//引发异常 } catch { i=-1; } finally { Console.WriteLine("输出来自方法GetNumber的finally块"); //return -2;//finally中不能含有return语句 } return i; }
output:
总结
在含有调用含有返回值的方法时,如果必须保证得到返回值且在被调用函数中使用了try块,则必须同时在被调用函数中使用catch块。相关文章推荐
- C#中使用try{}catch{}finally{}对系统性能的影响和处理机制(摘录)
- C#学习使用try-catch-finally错误处理表达式(续)--定义自己的异常消息类
- c#关于try catch finally的使用,判断日期格式是否正确
- C#中使用try{}catch{}finally{}对系统性能的影响和处理机制(摘录)
- C# 中异常抛出捕获机制--throw / try,catch,finally
- java只使用try和finally不使用catch的原因和场景
- 关于try ...catch .. finally的使用
- C#中异常的处理方法 try{} eatch{} finally{} 的使用
- C#扩展方法应用之 try catch finally 封装
- JAVA中try、catch、finally的使用及finally执行顺序详解
- try - catch - finally使用总结
- java只使用try和finally不使用catch的原因和场景
- C# 捕获异常try...catch...finally
- C# try catch finally
- 4.第三单元任务三实训:编写一个类ExceptionTest,在main方法中使用try-catch-finally语句结构实现:在try语句块中,编写两个数相除操作,相除的两个操作数要求程序运行时用
- C#中使用try...catch...是否会影响程序性能
- c#描述异常处理语句try、catch、finally执行时的相互关系
- Jdk1.7(及以上) 使用 try-with-resources 替代try-catch-finally
- Java - Java语言如何进行异常处理,关键字:throws、throw、try、catch、finally分别如何使用?
- C#中的try catch finally用法分析