异常处理

我要你输入的是数字 但是你偏偏要输入abc
语法错误 逻辑错误 这些都不算做异常
异常处理就是在开发过程中 程序员写的代码不能保证是十全十美的
总会出现小问题,这个时候就需要异常处理 但是异常的处理最佳阶段是在编译时
如果在编译时能够发现异常 我们就能在运行之前就处理好)并不是所有异常都能够在编译时发现

更多的异常是在运行时才被发现的

java.util.InputMismatchException

输入类型不匹配

java.lang.StackOverflowError

栈溢出

  1. public static void main(String[] args) {
  2. main(args);
  3. }

java.lang.OutOfMemoryError

堆溢出 OOM

  1. Integer[] integers = new Integer[1024*1024*1024];

java.lang.NullPointerException

空指针异常

  1. int [] i = null;
  2. System.out.println(i[2]);

java.lang.ArrayIndexOutOfBoundsException

下标越界

  1. int[] is = new int[] {1,3,4};
  2. System.out.println(is[4]);

java.lang.ClassCastException

类型转换异常

  1. Object object = new Integer[3];
  2. String string = (String)object;

FileNotFoundException

文件不存在的异常

红色是喜庆的颜色。
有异常就往上抛,谁调用谁处理。