Java_基础—异常的概述和分类/JVM默认处理异常的方式

package com.soar.exception;

public class Demo1_Exception {
    /*
    * A:异常的概述
    * 异常就是Java程序在运行过程中出现的错误。
    * B:异常的分类
    * 通过API查看Throwable,分为两个子类Error(系统崩溃无法处理)和Exception
    * Error:服务器宕机,数据库崩溃等
    * Exception
            * RuntimeException(程序员犯的错误)
            * 编译异常
****************************************************************
    ** A:JVM默认是如何处理异常的
    * main函数收到这个问题时,有两种处理方式:
    * a:自己将该问题处理,然后继续运行
    * b:自己没有针对的处理方式,只有交给调用main的jvm来处理
    * jvm有一个默认的异常处理机制,就将该异常进行处理.
    * 并将该异常的名称,异常的信息.异常出现的位置打印在了控制台上,同时将程序停止运行
    * B:案例演示
    * JVM默认如何处理异常
    * 注意事项:
    * 在控制台(Console)查看异常时,从后往前看
     */
    public static void main(String[] args) {
        //demo1();
        Demo d = new Demo();
        int x = d.div(10, 0);
        System.out.println(x);      //ArithmeticException

    }

    private static void demo1() {
        int[] arr = {11,22,33,44,55};
        //arr = null;                   //NullPointerException  空指针异常
        System.out.println(arr[10]);    //ArrayIndexOutOfBoundsException  数组索引越界异常
    }
}
class Demo{
    //除法运算
    public int div(int a, int b){   //a=10, b=0
        return a/b;                 //10/0 被除数是10,除数是0,当除数是0的时候,违背了算数运算法则,抛出异常
                                    //new ArithmeticException("/ by zero");
    }
}
posted @ 2017-07-20 09:13  Soar_Sir  阅读(146)  评论(0编辑  收藏  举报