1.异常的父类是throwable,error(错误) 和exception是他的子类
(1)0exception是编译器异常,进行编译时出现的问题
(2)runtimeexception:运行期出现的问题
错误和异常的区别:
错误就是程序得了一个无法治愈的毛病(艾滋、非典)
异常相当于程序得了一个小毛病(感冒发烧)
1.编译器异常的举例,及其处理方法:
第一种采用try…catch处理方式
public static void main(String[] args) {
//编译器异常
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(“yyyy-mm-dd”);
Date date = null;
try {
date = simpleDateFormat.parse(“1993-10-08”);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(date);
}
第二种采用抛出异常让虚拟机处理:
public static void main(String[] args) throws ParseException {
//编译器异常
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(“yyyy-mm-dd”);
Date date = simpleDateFormat.parse(“1993-10-08”);
System.out.println(date);
-
运行期异常举例及其处理:
public static void main(String[] args) throws ParseException {
//运行期异常
int[] arr = {1,2,3};
try{
//可能存在异常的代码
System.out.println(arr[3]);}catch (Exception e){
//异常处理逻辑
System.out.println(e);
}
System.out.println(“后续代码”);
}
3.错误的举例及其处理:
public static void main(String[] args) throws ParseException {
//error处理
//必须修改源代码,才能解决问题
int [] arr = new int[10241024102410241024];
System.out.println(“后续代码”);
}
异常产生的过程解析