java异常体系结构(学习,面试)记得踩哦!1.0版本

异常的概述

异常 就是不正常的意思,咱们打比方啊在生活中,你身体某个部位出现了问题,该部位的功能将受
影响,在java程序程序中意思就是(程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止)。在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的方式是中断处理。

//异常指的并不是语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运行.

JVM:java虚拟机,加载java编译后的Class文件。(不懂得可以去找度妈妈)

异常体系

java.lang.Throwable
顶级(超类)(Throwable)它下有两个子类分别为:
Error: 严重错误Error,无法通过处理的错误,只能事先避免,好比绝症(救不好那种)。
Exception: 表示异常,异常产生后程序员可以通过代码的方式纠正,使程序继续运行,是必须要处理的。好比痔疮、阑尾炎(哈哈)。

Error错误案例

java.lang.Error

public class test01 {
	public static void main(String[] args) {
		main(args);//有调用了主方法
		/**
		 *      StackOverflowError 堆栈溢出(Error)
		 * **运行结果**
		 * Exception in thread "main"     java.lang.StackOverflowError
	       at com.atlvsong.test.test01.main(test01.java:5)
	       at com.atlvsong.test.test01.main(test01.java:5)
	       at com.atlvsong.test.test01.main(test01.java:5)
		 */
	}
}

Error不能被处理,只能尽量避免。

Exception案例

java.lang.Exception
我们平常指的异常就是指Exception,因为这类异常一旦出现,我们就要对代码进行更正,修复程序。
Exception分为一下
1.编译时期异常
2.运行时期异常
编译时期异常:checked异常。在编译时期,就会检查,如果没有处理异常,则编译失败。(如日期格式化异常)

java异常体系结构(学习,面试)记得踩哦!1.0版本_第1张图片
0后面少了一个冒号,编译不通过(但不是编译时期异常)
什么是编译时期异常呢?

java异常体系结构(学习,面试)记得踩哦!1.0版本_第2张图片
1.throws抛出(之后要说,不要着急嘻嘻) 只放图之后说
(只要记住编译时期异常的两种处理方式)
java异常体系结构(学习,面试)记得踩哦!1.0版本_第3张图片

2.try/catch捕获(之后要说,不要着急嘻嘻)只放图之后说
java异常体系结构(学习,面试)记得踩哦!1.0版本_第4张图片
运行时期异常:runtime异常。在运行时期,检查异常.在编译时期,运行异常不会编译器检测(不报错)。(如数组索引越界异常)
什么又是运行时期异常呢?
1.下标索引越界异常

public class test7 {
    public static void main(String[] args) {
        /**
         *  1.下面就是运行时期异常,在Run启动运行期间出现的异常
         *  2.数组索引是从0开始的,我们定义的数组容量为10,最大索引为9,超过最大索引就出现
              下标索引越界异常
         */
        //长度为10,索引为0-9
        int [] a=new int[10];
        //  最大索引是a[9]
        System.out.println(a[10]);
    }
}

运行结果
ArrayIndexOutOfBoundsException下标索引越界异常
java异常体系结构(学习,面试)记得踩哦!1.0版本_第5张图片
2.算数异常

public class test7 {
    public static void main(String[] args) {
        int i=100;
        //100除0肯定不行
        System.out.println(i/0);
    }
}

ArithmeticException算数异常
运行结果
java异常体系结构(学习,面试)记得踩哦!1.0版本_第6张图片
[类型转换异常,空指针异常]不上图了,站空间哈哈。
先列举这么多,不懂问我。
重点 当执行一个程序时,如果某个地方出现了异常,那么异常之后的代码就不会执行!

异常处理方式,自定义异常下面讲

2.0版本

异常处理方式

你可能感兴趣的:(java基础,java)