异常处理分为两种:
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(); } } }