黑马程序员 _Java中的异常处理及自定义异常

------- android培训java培训、期待与您交流! ----------

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

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

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

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

自定义的异常:

//自定义异常   
public class LookhanExcepiton extends Exception {   
  
    public int day;   
       
    public LookhanExcepiton(String message,int day){   
        super(message);   
        this.day = day;   
    }   
       
    public int getDay(){   
        return this.day;   
    }   
       
}   
/**  
 * 自定义异常  
 * @author http://www.lookhan.com  
 *  
 */  
public class TestExcepiton {   
  
    public static void main(String[] args) {   
  
        int day = 35;   
        TestExcepiton test = new TestExcepiton();   
        try {   
            test.come(day);   
        } catch (LookhanExcepiton e) {   
            e.printStackTrace();   
            System.out.println("天数:" + e.getDay());   
        }   
           
    }   
  
    public void come(int day) throws LookhanExcepiton{   
        if(day > 30){   
            LookhanExcepiton exception = new LookhanExcepiton("你已经超过一个月没报错了",day);   
            throw exception;   
        }   
    }   
}  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值