[JAVA] 8.Java中的异常处理

Exception

首先要明确的是,异常的类型包括了未检查的异常(运行时的异常),检查后的异常,错误。

当我们要自定义异常的时候,如果是未检查的异常,要继承RuntimeException,如果是检查后的异常,继承Exception。

下面是一个自定义异常的例子

InsufficientFundException.java

package com.advanceTopic.exceptions;

public class InsufficientFundException extends Exception {
    public InsufficientFundException() {
        super("存款不足!");
    }

    public InsufficientFundException(String message) {
        super(message);
    }
}

Account.java

package com.advanceTopic.exceptions;

import java.io.IOException;

public class Account {
    private float balance;
    public void deposit(float value) throws IOException {
        if (value<=0)
            throw new IOException();
    }
    public void withdraw(float value) throws InsufficientFundException {
        if (value>balance)
            throw new InsufficientFundException();
    }
}

ExceptionDemo.java

package com.advanceTopic.exceptions;

public class ExceptionDemo {
    public static void show() {
        var account = new Account();
        try {
            account.withdraw(100);
        } catch (InsufficientFundException e) {
            System.out.println(e.getMessage());
            ;
        }
    }
}

当我们要构造异常链的时候,可以通过将一个子异常作为参数初始化给父异常来实现,描述一个异常(更一般)是由另一个异常(更特殊)引发的。

posted @ 2020-04-25 10:56  莫等闲™  阅读(215)  评论(0)    收藏  举报