标签:
在没有异常处理的语言中,通常需要大量的判断语句,配合所想到的错误来捕获程序中所有可能发生的错误。充分利用Java的异常处理机制,以增进程序的稳定性和效率。
所有的子类实例全部可由父类接收,利用向上转型的概念,所有的异常对象都可以使用Exception类接收
throws:使用throws声明的方法表示此方法不处理异常,而交给方法的调用处进行处理。
在主方法中不要使用throws关键字。
可以直接使用throw关键字人为的抛出一个异常,抛出时,直接抛出异常类的实例化对象即可。
设计一个相除的方法,要求必须打印“计算开始”信息,“计算结束”信息,如果有异常,则肯定调用被调用处处理。
1 package Sep18; 2 /*设计一个相除的方法,要求必须打印“计算开始”信息,“计算结束”信息,如果有异常,则肯定调用被调用处处理。 3 */ 4 public class TrowDemo02 { 5 public static void main(String args[]){ 6 Math m=new Math(); 7 try{ 8 System.out.println("除法操作:"+m.div(10, 0)); 9 }catch(Exception e){ 10 System.out.println("异常产生:"+e);//产生异常时执行。 11 } 12 } 13 } 14 class Math{ 15 public int div(int i,int j) throws Exception{//方法可以不处理异常,直接抛出 16 System.out.println("****计算开始****"); 17 int temp=0; 18 try{ 19 temp=i/j; 20 }catch(Exception e){//捕获异常 21 throw e;//把异常结构交给被调用处 22 }finally{ 23 System.out.println("****计算结束****"); 24 } 25 return temp; 26 } 27 }
****计算开始****
****计算结束****
异常产生:java.lang.ArithmeticException: / by zero
RuntimeException类是Exception类的一个子类,但是可以直接throws,而不用try---catch---抛出,但是最好还是正常捕获。
标签:
原文地址:http://www.cnblogs.com/BoscoGuo/p/5877562.html