异常类
/*
- 什么是异常(Exception)
- 异常是程序在编译或运行过程中出现的例外,这些例外有的可以避免,有的却无法避免。
- Exception类继承自Throwable类,Throwable类还有一个子类Error
- Error代表的是错误,不再是程序员编程处理的范围。
- 检查异常也称为编译期异常
- 不可避免,必须进行异常处理,要不编译器报错
- Exception以及它的子类(除去RuntimeException)
- 未检查异常也称为运行时异常
- 可以避免,不需要必须处理
- RuntimeException以及它的子类
*/
常见的异常
package SE02.n1Exception;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo01Exception {
public static void main(String[] args){
// 常见的运行时异常
// NullPointerException 空指针异常
String name=null;
System.out.println(name.toString());
// ArithmeticException 算数异常
System.out.println(1/0);
// ArrayIndexOutOfBoundsException 数组下标越界异常
String s[]=new String[2];
System.out.println(s[3]);
// ClassCastException 类型转换异常
Object o=new Integer(20);
String s= (String)o;
// 常见编译期异常
// ParseException 解析异常
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
String string="1000年2月2日";
Date d=sdf.parse(string);//需异常处理
}
}
异常处理方法
// Java编译期异常必须处理,否则编译器会提示错误,且源文件无法成功编译
// 处理方法两种
// 1.使用try_catch_finally关键字捕获并处理
// 2.使用throws关键字声明抛出异常,让别人去处理
try_catch_finally关键字
package SE02.n1Exception;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo02try_catch {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
String string="1000年2月2日";
try {
Date d=sdf.parse(string);//需异常处理
} catch (ParseException e) {
// TODO 自动生成的 catch 块
System.out.println("try语句中发生异常,会跳转到此语句块执行");
e.printStackTrace();