|
Java中的异常就是程序出现了不正常的情况,如果这种异常没有得到及时的 处理,那么程序在执行过程中可能出现非正常的中止,导致意想不到的结果。
Java中的异常都是继承Throwable的,它是所有异常的父类。而在Java中最终的两个就是运行时异常和非运行时异常,这也是后面编程时经常遇到的。

在Java异常需通过try ... catch代码块进行捕获。
public class ExceptionDemo01 {
public static void main(String[] args) {
System.out.println("开始");
method();
System.out.println("结束");
}
public static void method() {
try {
int[] arr = {1, 2, 3};
System.out.println(arr[3]);
System.out.println("这里能够访问到吗");
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("你访问的数组索引不存在,请回去修改为正确的索引");
}
}
}
- 如果 try 中没有遇到问题,怎么执行?
会把try中所有的代码全部执行完毕,不会执行catch里面的代码
- 如果 try 中遇到了问题,那么 try 下面的代码还会执行吗?
那么直接跳转到对应的catch语句中,try下面的代码就不会再执行了 当catch里面的语句全部执行完毕,表示整个体系全部执行完全,继续执行下面的代码
- 如果出现的问题没有被捕获,那么程序如何运行?
那么try...catch就相当于没有写.那么也就是自己没有处理. 默认交给虚拟机处理.
- 同时有可能出现多个异常怎么处理?
出现多个异常,那么就写多个catch就可以了. 注意点:如果多个异常之间存在子父类关系.那么父类一定要写在下
当我们遇到异常时,也可以把异常给抛出,给Java虚拟机去帮我们执行
其格式为throw new 异常();
public class ExceptionDemo {
public static void main(String[] args) throws ParseException{
System.out.println("开始");
public static void method() throws ArrayIndexOutOfBoundsException {
int[] arr = {1, 2, 3};
System.out.println(arr[3]);
}
}总结:Java的异常处理并没有死规矩。何时用什么样的异常,是一个需要大量的实际项目积累、试错才能有把握做好的事情。 |
|