JVM默认是如何处理异常的

  • main函数收到这个问题时,有两种处理方式:
    • a:自己将该问题处理,然后继续运行
    • b:自己没有针对的处理方式,只有交给调用main的jvm来处理

      jvm有一个默认的异常处理机制,就将该异常进行处理.并将该异常的名称,异常的信息.异常出现的位置打印在了控制台上,同时将程序停止运行

  1. public class Demo01Exception {
  2. @Test
  3. public void demo1() {
  4. int[] arr = {11,22,33,44,55};
  5. //arr = null; //NullPointerException 空指针异常
  6. System.out.println(arr[10]); //ArrayIndexOutOfBoundsException 数组索引越界异常
  7. }
  8. @Test
  9. public void demo2(){
  10. Util d = new Util();
  11. int x = d.div(10, 0);
  12. System.out.println(x);
  13. }
  14. }
  15. class Util {
  16. /**
  17. * 除法运算
  18. */
  19. public int div(int a,int b) { //a = 10,b = 0
  20. return a / b; // 10 / 0 被除数是10,除数是0当除数是0的时候违背了算数运算法则,抛出异常
  21. //new ArithmeticException("/ by zero");
  22. }
  23. }