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");
}
}
转载于:https://www.cnblogs.com/soarsir/p/7662582.html