尚硅谷Java培训之异常的概述

1 什么是异常

异常,又称为例外,是指不可预知的非正常的情况,例如:正常开车突然路口窜出一条狗来,或者正常上下班的路上,某个街角偶遇了爱情,或者在每天晨跑的小树林遭遇了歹徒。这些突发的情况的发生是不可预知的,where,when......,但是如果处理好了,美好的生活不受影响,可以继续,如果处理不好,可能就“挂”了。

Java语言将程序执行中发生的不正常情况称为“异常”,异常是一种对程序运行过程中发生错误时进行通知的机制。如:网络连接失败、用户输入错误或打开文件失败等。

提示:(1)语法错误不属于异常,这种情况编译不通过,无法运行;(2)逻辑错误不属于异常,这种情况属于BUG,必须修正;

2 Java异常的堆栈式抛出机制

示例代码:

package com.atguigu.exception;

public class TestException {

         public static void main(String[] args) {

                  int a = Integer.parseInt(args[0]);

                  int b = Integer.parseInt(args[1]);

                  System.out.println(a + "/" + b + "=" + a/b);

         }

}

命令行执行:

java  com.atguigu.exception.TestException  12  3

运行结果显示12/3=4,结果正常。

1. ArrayIndexOutOfBoundsException数组下标越界异常

命令行执行:

java  com.atguigu.exception.TestException

出现异常形式,如图

Java培训课程

ArrayIndexOutOfBoundsException数组下标越界异常

2. NumberFormatException数字格式化异常

命令行执行:

java  com.atguigu.exception.TestException  a  b

出现异常形式,如图:

java培训课程

 NumberFormatException数字格式化异常

3. ArithmeticException算术异常

命令行执行:

java  com.atguigu.exception.TestException  12  0

出现异常形式,如图:

java培训课程

 ArithmeticException算术异常

4. 结论

在Java中异常以对象的形式出现,不同的异常对象中封装了相应的错误信息。

Java是采用面向对象的方式来处理异常的。处理过程:

  • 抛出异常:在执行一个方法时,如果在某句代码发生异常,则会在该句代码处生成代表该异常的一个对象,停止当前执行路径,并把异常对象提交给JRE,不同的异常对象中封装了相应的错误信息。
  • 捕获异常:JRE得到该异常后,寻找相应的代码来处理该异常。JRE在方法的调用栈中查找,从生成异常的方法开始回溯,直到找到相应的异常处理代码为止。如果没有找到处理代码,那么程序终止运行

Java中异常的是以堆栈式抛出机制来进行错误通知的,如图。

java培训课程

抛出异常