ArithmeticException对我来说,是一个很重要的异常。因为之前学Java异常的时候,第一个demo就是讲这个。
不对异常进行处理:
对异常进行处理:
很明显:如果一个程序从开始到结束的流程中,在中间有一个未经处理的异常,则这个异常之后的代码不会执行,程序也不会正常执行到最后并结束。
而当对这个异常进行处理之后,分成三块:try块内,异常之后的代码会跳过,跳到catch块内执行该块内的代码。而后,正常执行这些代码块之后的代码。程序可以正常结束。
今天发现一点:
很奇怪,后面的这种写法为什么没有抛异常。
官方文档中对ArithmeticException的定义:
Thrown when an exceptional arithmetic condition has occurred.
For example, an integer "divide by zero" throws an instance of this class.
当出现异常的运算条件时,抛出此异常。
例如,一个整数“除以零”时,抛出此类的一个实例。
这就是double x = 6.0 / 0.0不会抛出异常的原因。。