提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、什么是异常,java提供异常处理机制有什么用?
以下程序执行过程中发生了不正常的情况,而这种不正常的情况叫做:异常。
java语言是很完善的语言,提供了异常的处理方式,如果程序执行过程中出现了不正常情况,java把该异常信息打印输出到控制台,供程序员参考,程序员看到异常信息后,可以对程序进行修改,让程序更加健壮增加其健壮性。
假如没有没有异常机制,执行以下程序的时候控制台什么也没有,我们一眼就能看出来是第四行出现问题。但是大家想想,如果在企业级开发中或者代码超过一定数量,比如超过一百行,此时出现错误那么我们会耗费非常大的精力去寻找代码中的错误,是不是很可怕。
一句话总结:对于java开发者来讲,可以在程序报错的时候帮我们快速找到到程序中不合理的代码。
public static void main(String[] args) {
int a = 10;
int b = 0;
int c = a / b;
System.out.println("c = " + c);
}
执行结果:
二、异常以什么 形式存在
java各种异常是以类的形式存在,每一个异常类都可以创建异常对象。
举一个和我们生活比较接近的例子:
有一个异常类叫做:狗丢了异常
突然有一天张三发现家里的狗不见了,于是立马new 一个狗丢了的异常对象,并且告诉家人。
分析上面代码:正常给a赋值10,给b赋值0,然后让a除于b也就是让10÷0,此时发现10没法除0,就会发生一个算术运算的错误。然后立马创建一个ArithmeticException对象,这个对象叫做算术运算异常,并且将 / by zero传进去然后抛出打印到控制台。
二、异常集成结构
Object
Object下有Throwable(可抛出的)
Throwable下有两个分支:Error(错误:不可处理,直接结束程序退出JVM) 和Exception(异常:可处理的)
Exception下有两个分支:
Exception的直接子类:编译时异常。(要求程序员在编写程序阶段必须先对这些异常进行处理,如果不处理编译器报错,因此得名)
RuntimeException:运行时异常。(在编写程序阶段程序员可以预先处理,也可以不管,都行。)
所有异常都是在运行阶段发生的。因为只有程序运行阶段才可以new对象,因为异常的发生就是new对象。
二、异常的两种处理方式
java语言中对异常的处理方式包括两种:
第一种方式:在方法声明的位置上,使用throws关键字,谁调用这个方法,谁处理。【异常上抛】
第二种方式:使用try…catch语句进行异常的捕捉,直接在方法内部进行处理。【异常处理】