异常

如何构建异常

%

  1. 直接用空构造

  2. 用String的构造

可以按照return 语句去理解,只是调用者是用try catch去获得返回值,所以catch要定义一个Exceptionq去接收throw的语句

throw new NullPointerException("t=null");

throw new NullPointerException();

如何自定义异常

%

继承Exception即可

//: exceptions/FullConstructors.java
package exceptions; /* Added by Eclipse.py */

//自定义异常
class MyException extends Exception {
  public MyException() {}

  //使用String构造
  public MyException(String msg) { super(msg); }
}//自定义异常结束

public class FullConstructors {
  public static void f() throws MyException {
    System.out.println("Throwing MyException from f()");
    throw new MyException();
  }
  public static void g() throws MyException {
    System.out.println("Throwing MyException from g()");
    throw new MyException("Originated in g()");
  }


  public static void main(String[] args) {
    try {
      f();
    } catch(MyException e) {
      e.printStackTrace(System.out);
    }
    try {
      g();
    } catch(MyException e) {
      e.printStackTrace(System.out);//打印错误stack,原本是输出到System.eer流上
    }
  }
} /* Output:
Throwing MyException from f()
MyException
        at FullConstructors.f(FullConstructors.java:11)
        at FullConstructors.main(FullConstructors.java:19)
Throwing MyException from g()
MyException: Originated in g()
        at FullConstructors.g(FullConstructors.java:15)
        at FullConstructors.main(FullConstructors.java:24)
*///:~


什么是异常的说明

  1. 如果说明的比抛出的多会怎么样?

  2. 如果抛出的比说明的多会怎么样?

%

异常说明的形式,必须这样写,不能省略

void fun() throws One, Two, Three{//...

如果代码中只抛出了One,没影响

若果代码多抛出了一个Four,编译不通过


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值