java.lang.Throwable:JAVA中所有错误或异常的超类(父类)
一、Exception:编译期异常,进行编译java程序出现问题
RuntimeException:运行期异常,java程序运行过程中出现的问题
异常就相当一个小毛病
注意:Exception是所有异常的父类,所以如果不想分别处理各个异常,可以偷懒try...case 或者直接抛出Exception
二、Error:错误
错误就相当于得了一个无法治愈的病,必须修改代码才能解决,否则程序永远无法运行
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo01Exception {
public static void main(String[] args) /*throws ParseException */{
SimpleDateFormat sm = new SimpleDateFormat("yyyy-MM-dd");
/*
* Exception在编译器就会提示出错误,有两种方式:
* 1、throw给虚拟机处理,但是如果再运行期出现问题,就会停止运行-》alt+Enter 选择第一个add...
* 2、手动去处理,这个在运行期出现问题,还会继续运行-》alt+Enter 选择第二个Surround
* */
try {
Date date = sm.parse("2020-0131");//
} catch (ParseException e) {
e.printStackTrace();
}
//System.out.println("如果异常后还在运行");
/*RuntimeException是在编译器没有发现,但是在运行期发现,也可以手动去
添加try/catch解决,比如说数组越界*/
int[] a = new int[]{1,2,3};
try{
System.out.println(a[3]);
}catch (Exception E){
System.out.println(E);
}
System.out.println("运行期异常后代码");
/*Error,这个错误无法解决,哪怕是加入try/catch都没有,比如说内存溢出*/
}
}
输出:
行期异常后代码
java.text.ParseException: Unparseable date: "2020-0131"
三、