异常的形式、自定义异常、throw和throws的区别

异常的扑捉:

    1、try{可能出现异常的代码块}catch(Exception  e){}

    2、在出现异常的方法的方法名后throws Exception

自定义异常:

public class MyThrows extends Exception{
	public MyThrows(){
		super();// 调用父类构造方法(无参)
	}
	public MyThrows(String magr){
		super(magr);
	}
}
使用异常:public class TestException {public static void ml()throws Exception{if(true){throw new Exception("我是true==========");}}public static void main(String[] args) throws Exception{ml();}}运行结果:
 Exception in thread "main" com.ml.throwss.MyThrows: 我是true==========
             at com.ml.throwss.TestException.ml(TestException.java:6)
             at com.ml.throwss.TestException.main(TestException.java:10)

3、throw和throws的区别
   ★throw代表语句抛出异常   throws表示一个方法跑出异常
   ★throw必须和throws或try catch配对使用,而throws可以单独使用
   ★throws后可跟多个异常,用逗号隔开
   ★throw语句用在方法体内,表示抛出异常,由方法体内的语句处理 
     throws语句用在方法声明后面,表示再抛出异常,由调用这个方法的上一级方法中的语句来处理
  void doA() throws Exception1, Exception3 {   try {     ……
     } catch(Exception1 e) {               throw e;
     } catch(Exception2 e) {
        System.out.println("出错了");        }
     if (a != b)
       throw new Exception3("自定义异常");     } 代码块……中可能产生异常Exception1、Exception2和Exception3。
如果产生Exception1异常,则捕捉了之后抛出由该方法的调用者去做处理;
如果产生Exception2异常,则该方法自己做了处理(打印出了说出错了),而Exception3异常是该方法的某段逻辑出错,程序员自己作了处理在该段逻辑错误的情况下抛出异常Exception3,则调用者也需要处理


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值