异常
异常概念
- 异常:程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。
在java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。
java处理异常的方式是中断处理。
异常指的并不是语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运行。而异常是可以运行的
处理异常方式
第一种: 交给虚拟机处理:
public static void main(String[] args) throws ParseException {
//Exception:编译期异常,进行编译(写代码)java程序出现问题
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//用来格式化日期
Date date = sdf.parse("1999-0909");
System.out.println(date);
}
}
日期与格式不匹配就会抛出异常:
第二种: try/catch处理:
public static void main(String[] args) /*throws ParseException*/ {
//Exception:编译期异常,进行编译(写代码)java程序出现问题
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//用来格式化日期
Date date = null;
try {
date = sdf.parse("1999-0909");
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(date);
}
Exception编译期异常: 在编写代码时就会报错
RuntimeException运行期异常: java程序运行过程中出现的错误
异常产生原理
在程序出现异常的位置,JVM会检测出程序出现异常,JVM就会开始做一系列动作:
- JVM会根据异常产生的原因创建一个异常对象,这个异常对象包含了异常产生的内容、原因、位置 。
- 在此错误的方法中没有异常处理逻辑(try/catch),则JVM就会把异常对象抛出给方法的调用者来处理。
- 当JVM接收到了这个异常对象,首先把异常对象的内容、原因、位置 以红色字体打印在控制台
- 然后终止当前正在执行的java程序–>中断处理 。
(可能之后还会更新,先发了吧~)