JAVA异常_1

基本异常

异常情形(exceptional condition)是指阻止当前方法或作用域继续执行的问题。

普通问题是指,在当前环境下能够得到足够的信息,总能处理这个错误。

对于异常情形,就不能继续下去,因为在当前环境下无法获得必要的信息来解决问题。你所能做的就是从当前环境跳出,并且把问题提交给上一级环境。这就是抛出异常时所发生的事情。

当抛出异常后,有几件事会随之发生:

首先,同Java中其他对象的创建一样,将使用new在堆上创建异常对象。
然后,当前的执行路径(它不能继续执行下去了)被终止,并且从当前环境中弹出对异常对象的引用。
异常处理机制接管程序,并开始寻找一个恰当的地方来继续执行程序。
这个恰当的地方就是异常处理程序,它的任务是将程序从错误状态中恢复,以使程序要么换一种方式运行,要么继续运行下去。
异常最重要的方面之一就是如果发生问题,它们将不允许程序沿着其正常的路径继续走下去。在C和C++中,是没有办法可以强制程序在出现了问题时停止在某条路径下运行下去。异常允许我们强制程序停止运行,并告诉我们出现了什么问题,或者(理想状态下)强制程序处理问题,并返回到稳定状态。

所有的标准异常类都有两个构造器:一个默认构造器;另一个是接受字符串为参数,以便能把相关信息放入异常对象的构造器。

Throwable对象是异常类型的根类。

捕获异常
要明白异常是如何被捕获的,必须首先理解监控区域的概念。它是一段可能产生异常的代码,并且后面跟着处理这些异常的代码。

throw和throws有什么区别?
throw用于方法内部,throws用于方法声明上。
throw后跟异常对象,throws后跟异常类型。
throw后只能跟一个异常对象,throws后可以一次声明多种异常类型。

throw语法: throw (异常对象) throw e;

throws语法: throws 异常类 public void test() throws Exception1,Exception2{ }

Java中Exception和Error有什么区别?
Exception和Error都是Throwable的子类。

Error:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕获到的,无法采取任何恢复的操作,顶多只能显示错误的信息。

Exception:包括RuntimeException和受检查异常。

受检查异常也就是我们经常遇到的IO异常,以及SQL异常,都是这种异常。对于这种异常,Java编辑器强制要求我们必需对出现的这些异常进行catch。

RuntimeException是运行时异常,当出现这样的异常时,总是由虚拟机去处理。例如NullPointerException异常,就是常见的运行时异常。

Java异常类介绍
Throwable类
Throwable类是所有errors和exceptions的子类。只有是Throwable类或者是Throwable的子类才能被JVM虚拟机抛出,或者是Java代码throw语句抛出。类似地,只有Throwable类或者其子类才可以在catch语句中出现。

为了编译时检查异常,Throwable或者Throwable的子类,除了RuntimeException和Error都是被当作受检查的异常(checked exception).

Throwable的两个子类:Error和Exception被用来表明发生了异常情况。

Throwable包含了线程执行堆栈的快照,它同样包含一些错误的详细信息。Throwable同样可以包含一个cause:另外一个Throwable导致该Throwable被创建。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值