@liruiyi962464
2017-03-21T02:02:00.000000Z
字数 809
阅读 412
java
包括 | 处理 | 例子 | |
---|---|---|---|
受查异常(checkedException) | Exception及其子类(不包括RunTime Exception及其子类) | 必须处理,否则通不过编译 | sdf.parse(str)或者try-catch或者throws |
非受查异常 | Error和RunTimeException及其子类 | 可以不用处理 | 10/0 |
try {
//可能出现的异常
} catch (ParseException e) {
捕获,处理异常
}finally {
有没有异常,都要执行代码
通常写关闭流、数据库连接等等
}
int i = 10/0;//非受查异常
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dataStr = "2017-09-01";
try {
System.out.println(sdf.parse(dataStr));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
System.out.println("不管有没有异常,我都执行");
}
- 用法: throws 要抛出的异常类的类名
public static void main(String[] args) throws ParseException{}
抛出以后,谁调用该方法,谁处理异常
- 用法: throw 要抛出的异常类的对象,
需要结合try-catch或者throws来使用
也有特殊情况,下例
try {
int n = 10/0;
throw new Exception("分母不能为0");
} catch (ParseException e) {
e.printStackTrace();
}
- IOException SqlException ClassNotFoundException