异常

异常的概述
异常就是程序出现了不正常的情况
异常的体系结构

 

 

 

 

 

JVM默认处理异常的方式
如果程序出现了问题,我们没有做任何处理,最终JVM 会做默认的处理,处理方式有如下两个步骤:
把异常的名称,错误原因及异常出现的位置等信息输出在了控制台
程序停止执行
 

try-catch方式处理异常

定义格式:

try {
可能出现异常的代码;
} catch(异常类名 变量名) {
异常的处理代码;
}

 

 

Throwable成员方法
public String getMessage()
返回此 throwable 的详细消息字符串
public String toString()
返回此可抛出的简短描述
public void printStackTrace()
把异常的错误信息输出在控制台

 

 

编译时异常和运行时异常的区别
编译时异常
都是Exception类及其子类
必须显示处理,否则程序就会发生错误,无法通过编译
运行时异常
都是RuntimeException类及其子类
无需显示处理,也可以和编译时异常一样处理
 

throws方式处理异常
定义格式:
public void 方法() throws 异常类名 {
}
 

示例代码:
public class ExceptionDemo {
public static void main(String[] args) {
System.out.println("开始");
// method();
try {
method2();
}catch (ParseException e) {
e.printStackTrace();
}
System.out.println("结束");
}
//编译时异常
public static void method2() throws ParseException {
String s = "2048-08-09";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date d = sdf.parse(s);
System.out.println(d);
}
//运行时异常
public static void method() throws ArrayIndexOutOfBoundsException {
int[] arr = {1, 2, 3};
System.out.println(arr[3]);
}
}
 

注意事项
这个throws格式是跟在方法的括号后面的
编译时异常必须要进行处理,两种处理方案:try...catch …或者 throws,如果采用 throws 这种方案,
将来谁调用谁处理
运行时异常可以不处理,出现问题后,需要我们回来修改代码
 

throws和throw的区别

 

 

 

posted @ 2020-08-01 20:57  邪神说  阅读(127)  评论(0编辑  收藏  举报