Java异常学习记录
1.异常的体系结构

异常:程序出现的问题叫做异常。
Error错误:表示系统级别的错误,sun公司会把错误封装成对象,程序员一般不用。
Exception:叫做异常,表示程序出现的问题。
异常分为两类,一个是运行时异常,一个是编译时异常。
RuntimeException:运行时异常,在代码运行时出现。
编译时异常:编译阶段(Java文件编译成字节码阶段)就会有提醒,继承于Exception。
2.运行时异常和编译时异常的区别
编译时异常:编译阶段需要进行处理,作用是提醒程序员
运行时异常:在编译阶段没有报错,是程序运行时出现的
3.异常的作用
可以查询出现问题的信息,比如说在某某行出现的问题都可以看到
可以作为方法的特殊返回值,返回给调用者
4.处理异常的方式
1.jvm默认处理方式(如果不对异常做任何处理,那异常就会让jvm处理。)
把异常的名称,原因,出现的位置打印在控制台上
程序停止执行
2.自己处理异常(捕获异常)
格式:
try{
可能出现异常的代码
}catch(异常类(要捕获的异常) 变量名){
处理异常的代码
}
目的:捕获到的异常可以进行处理而不是让jvm处理,这样可以使程序继续运行。
3.异常中的常见方法
getMessage()返回详细消息字符串
toString()返回简单描述信息
printStackTrace()已红色字体(底层使用System.err.println)打印错误信息在控制台
4.抛出异常
throws:写在方法旁,表示声明一个异常告诉调用者,使用该方法可能会有异常
一般写的是编译时异常类
throw:写在方法内,可以手动抛出异常对象个调用者,并且它下面的代码不会执行,直接结束方法。
调用者可以通过try{}catch来捕获方法抛出的异常