JAVA中的异常处理,java异常处理有哪几种方式
一、异常实现及分类
1.先看异常类的结构图。
如何解决写爬虫IP受阻的问题?立即使用。
上图可以简单的展示异常类实现的结构图。当然,上图并不是所有的异常,用户可以自己定制异常实现。上图足以帮助我们解释和理解异常实现:
java相关免费视频教程:Java教学视频
1.所有异常都继承自Throwable,它是所有异常的共同祖先。
2.Throwable有两个子类,Error和Exception。
Error是一个错误,所有编译时错误和系统错误都通过Error抛出。这些错误表示故障发生在虚拟机本身,或者虚拟机试图执行应用程序时,如Java虚拟机运行错误、类定义错误等。
这些错误是无法检查的,因为它们超出了应用程序的控制和处理能力,而且大多数都是程序运行时不允许出现的情况。对于一个设计良好的应用程序来说,即使确实发生了错误,也不应该试图处理由此导致的异常情况。在Java中,错误由error的子类来描述。
3.例外
是另一个非常重要的异常子类。指定的异常是程序本身可以处理的异常。
异常和错误的区别在于,异常可以处理,而错误不能处理。
4.检查异常
可检查的异常,在编码中常用,所有检查的异常都需要在代码中处理。它们的发生是可以预测的,一个正常的情况是可以合理处理的,比如IOException,或者一些自定义异常。除了RuntimeException及其子类,它们都是检查异常。
5.未检查的异常
RuntimeException及其子类是未检查的异常。比如NPE空指针异常,除数为0的算术异常等。这种异常发生在运行时,无法提前捕捉和处理。错误也是未检查的异常,不能提前处理。
二、异常的处理
代码中的异常处理实际上是对可检查异常的处理。
1.通过尝试.要处理的catch语句块:
尝试
{
//程序代码
}catch(ExceptionName e1)
{
//Catch块
}Catch语句包含要捕获的异常类型的声明。当保护代码块中发生异常时,将检查try后的catch块。
如果异常包含在catch块中,异常将被传递给catch块,这与将参数传递给方法是一样的。
2.另外,也可以在特定的位置不处理,直接抛出,然后通过throws/throw转到上一级进行处理。具体来说,如果一个方法没有捕获检查异常,那么必须使用throws关键字声明该方法。
Throws关键字放在方法签名的末尾。您还可以使用throw关键字来抛出一个异常,无论它是新实例化的还是刚刚被捕获的。
下面的方法声明引发了RemoteException异常:
导入Java . io . *;
公共类类名
{
公共void存款(双倍金额)抛出RemoteException
{
//方法实现
抛出新的remote exception();
}
//类定义的剩余部分
}3.finally关键字
Finally关键字用于创建在try代码块之后执行的代码块。无论是否发生异常,finally代码块中的代码将始终被执行。在finally代码块中,可以运行完成后续工作的语句,例如清理类型。
最后,代码块出现在catch代码块的末尾,语法如下:
尝试{
//程序代码
}catch(异常类型1异常的变量名1){
//程序代码
}catch(异常类型2异常的变量名2){
//程序代码
}最后{
//程序代码
}java相关文章教程推荐:java入门程序以上是java中异常类型和异常处理的详细介绍的详细内容。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。