常用方法:
1.toString() 返回用于描述该异常情况的类的完整类名
2.getMessage() 返回创建throwable对象传入的消息字符串
3.printStackTrace() 打印异常信息(并报错代码行)

jvm默认管理内存:64M
错误:一般都是由于jvm或硬件引发的问题,一般不需要代码处理
异常:如果出现异常,一般要用代码处理
运行时异常(RunTimeException及其子类):
1.如果一个方法内部抛出了一个运行时异常,那么方法声明可以抛出也可以不抛出。
2.如果调用了抛出运行时的异常,可以处理,也可以不处理。
3.有些可以通过代码避免
编译时异常:1.如果一个方法内部抛出了一个编译时异常,那么方法声明必须声明抛出。
2.如果调用了抛出编译时异常方法,必须要处理
抛出处理细节:
1.如果一个方法内部抛出一个编译时异常对象,那么必须在方法声明中声明抛出。
2.如果调用了编译时异常类型的方法,那么调用者必须处理,否则编译报错。
3.一个方法如果遇到throw关键字,那么停止运行。
throw和throws的区别
1.throw在方法内部抛出异常对象
throws在方法上声明抛出异常类
2.throw—————对象
throw—————类型
3.throw:一次只能抛出一个异常对象
throws:一次能声明多个异常类
实例:
Throwable t = new Throwable("偶尔打喷嚏");
t.toString(); // java.lang.Throwable: 偶尔打喷嚏
t.getMessage(); // 偶尔打喷嚏
t.getStackTrace(); // java.long.Throwable.
……………………………………(27)
………………………………………(23)
WEB(与用户交流) service层(处理数据) dao层(数据库)
捕获(try-catch) 抛出(throw) 抛出(throw)