java--异常处理

来源:互联网 发布:金罗盘软件下载 编辑:程序博客网 时间:2024/06/07 00:46

Java在运行时发生异常,会生成个异常类对象,可以用try{}catch{}来捕获异常 
在catch语句中可以使用这个对象的一些方法来捕获这些信息,如: 
getMessage() 得到异常的有关信息 
printStackTrace() 用来跟踪异常事件发生时执行堆栈的内容

在方法定义中可以通过throws来抛出异常给上一层,在方法体内抛出异常用throw

异常的分类: 
所有的异常类的基类是Throwable,它有俩个子类 Error和Exception,其中Error是系统的内部错误,是虚拟机的错误,程序是处理不了的,Exception是我们可以处理的异常,在Exception里面有RuntimeException,RuntimeException是经常出现的错误,可以去逮它,也可以不逮它,如除数不能为零,数组下标越界的这种异常,而Exception除了RuntimeException异常外的其它异常,都必须在程序中去逮它,在API文档中的那些有throws的类都抛出这类异常

finally语句在try catch 语句后面,无论产不产生异常都执行,是异常的处理统一的出口

自定义的异常:

[java] view plaincopy
  1. //自定义异常     
  2. public class LookhanExcepiton extends Exception {     
  3.     
  4.     public int day;     
  5.          
  6.     public LookhanExcepiton(String message,int day){     
  7.         super(message);     
  8.         this.day = day;     
  9.     }     
  10.          
  11.     public int getDay(){     
  12.         return this.day;     
  13.     }     
  14.          
  15. }     
  16. /**   
  17.  * 自定义异常   
  18.  * @author http://www.lookhan.com   
  19.  *   
  20.  */    
  21. public class TestExcepiton {     
  22.     
  23.     public static void main(String[] args) {     
  24.     
  25.         int day = 35;     
  26.         TestExcepiton test = new TestExcepiton();     
  27.         try {     
  28.             test.come(day);     
  29.         } catch (LookhanExcepiton e) {     
  30.             e.printStackTrace();     
  31.             System.out.println("天数:" + e.getDay());     
  32.         }     
  33.              
  34.     }     
  35.     
  36.     public void come(int day) throws LookhanExcepiton{     
  37.         if(day > 30){     
  38.             LookhanExcepiton exception = new LookhanExcepiton("你已经超过一个月没报错了",day);     
  39.             throw exception;     
  40.         }     
  41.     }     
  42. }    
0 0
原创粉丝点击