【概述】:就是程序出现了不正常的情况。程序在执行过程中,出现的非正常的情况,最终会导致 JVM 的非正常停止。
注意:语法错误不算在异常体系中。
【异常体系】Error:严重问题,通过代码无法处理。比如:内存溢出。
Exception:称为异常类,它表示程序本身可以处理的问题
RuntimeException及其子类:运行时异常。 (空指针异常,数组索引越界异常)
除RuntimeException之外所有的异常:编译期必须处理的,否则程序不能通过编译。(日期格式化异常)。
【处理方式】- JVM对于异常的默认处理:把异常的名称,异常原因及异常出现的位置等信息输出在了控制台并使程序停止执行
- 调用者处理方式:throws、throw、try...catch...
【格式】:throws 异常类名;
注意:这个格式是写在方法的定义处,表示声明一个异常。
【throw】:表示手动抛出异常对象,由方法体内的语句处理【格式】:throw new 异常;
注意:这个格式是在方法内的,表示当前代码手动抛出一个异常,下面的代码不用再执行了。
【try...catch...】:捕获异常【格式】:
try {
可能出现异常的代码;
} catch(异常类名 变量名) {
异常的处理代码;
}
【Throwable类】:异常可调用的类
【成员方法】:
public String getMessage() 返回此throwable的详细消息字符串
public String toString() 返回此可抛出的简短描述
public void printStackTrace() 把异常的错误信息输出在控制台
【自定义异常】public class 异常名 extends 继承哪个异常父类{
public 异常名的空参构造() { }
public 异常名的含参构造(String message) {
super(message);
}
}
举例:
public class AgeOutOfBoundsException extends RuntimeException{
public AgeOutOfBoundsException() { }
public AgeOutOfBoundsException(String message) {
super(message);
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)