异常处理分为两种:

1、系统异常处理

2、自定义异常处理

下面分别来讲解小编对这个的理解

1、系统异常处理

public class Abnormal {
    public static void main(String args[]) {

        Person person = new Person();
        person = null;
        /**
         * 系统默认的一般catch要写的具体不能只写Exception,这样就可以实现错误的分支
         */
        try{
            int a = 10;
            int b = 0;
            System.out.println(a / b);
            person.speck();
       } catch(NullPointerException e){
            System.out.print(e.getMessage());
       } catch(ArithmeticException e){
           System.out.print(e.getMessage());
        }
    }
}
public class Person {
    public void speck(){
        System.out.println("Hello Java!");
    }
}

2、自定义异常处理机制

第一步,先自行定义异常处理的类
/**
 * 自定义异常处理的类
 * @author
 */
public class BankException extends Exception/*这里的继承不能少*/{
    void showMessage(){
        System.out.println("你输入的数据是异常的!");
    }
}

第二步,对这个类进行运用

public class Bank {
    /**
     * 在方法后面加 throws BankException因为错误可能不只有一个,谁调用这个方法,谁就接受这个异常
     * @param in
     * @param out
     * @throws BankException
     */
    void iocome( int in , int out ) throws BankException /*此处也可以抛出多个异常类*/{
        if (in < 0 || out > 0) {
            throw new BankException();
        }
        System.out.println("你的操作是正常的!");
    }
}

第三步,测试样例

public class Abnormal {
    public static void main(String args[]) {

        /**
         * 自定义异常
         */
        Bank bank = new Bank();
        try {
            bank.iocome(-100 , -50);
        } catch (BankException e) { // 在此处,不用系统的而是自己定义的异常处理类
            e.showMessage();
        }
    }
}