从零开始学java(11)java中的异常

java中的异常

Java中的异常有一个公共的父类Throwable ,以Throwable为父类的异常又分为error类和Exception类

error 类是jvm在运行时出现的不可预料错误,通常非常严重不能解决,如栈内存溢出

Exception类又分为RunTimeException和其他错误,RunTimeException属于运行时出错,一般是逻辑错误所导致的,如空指针异常,数组下标越界,算数运算异常,除RunTimeException以外的都属于编译时错误

异常分为自动创建异常和手动创建异常

自动创建异常

int i=1,j=0;
try {
    System.out.println(i / j);
}catch (ArithmeticException e){
    System.out.println(e.getMessage());
}
int[] nums=new int[1];
try {
    nums[0]=1;
    nums[1]=0;
    int c=nums[0]/nums[1];

}catch (ArithmeticException e){
    System.out.println(e.getMessage());
}catch (ArrayIndexOutOfBoundsException e){
    System.out.println(e.getMessage());
}

可以抛出多个异常

手动创建异常

public class NotCreatException extends Exception{
    public NotCreatException() {
    }

    public NotCreatException(String message) {
        super(message);
    }
    
}
public class Triangle {
    private Integer a,b,c;

    public Triangle(Integer a, Integer b, Integer c) throws NotCreatException{
        if(a+b>c&&a+c>b&&b+c>a){
            this.a = a;
            this.b = b;
            this.c = c;
        }
        else {
            new NotCreatException("不能构成三角形");
        }

    }
}
public static void main(String[] args) {
    Triangle triangle;
    try {
        triangle=new Triangle(1,2,3);
    }catch (NotCreatException e){
        System.out.println(e.getMessage());
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值