异常处理
异常概述:在JAVA中主要是使用Throwable来表示出现的错误或者异常。
首先在API说明文档,可以看出Throwabl是一个类,在java.lang包下,在lang包下的类是可以直接使用不需要进行导包操作。直接已知子类有Error和Exception,同样在使用Error和Exception时不需要导包,Throwable类JAVA语言中所有错误或异常的超类。
如何在JAVA中表示一个错误?
Error类来表示。用于指示合理的应用程序不应该试图捕获的严重问题。这些严重问题包括:服务器宕机、数据库崩溃。以上两个错误都不是JAVA应用工程师进行处理,会有专门的运维人员进行负责维护操作。
如何在JAVA中表示一个异常?
Exception类来表示。异常才是JAVA工程师所能够解决并且是必须解决。
JAVA工程师很少处理做错误,主要负责处理异常。
异常主要分两大类:编译器异常、运行时异常。
(JVM默认如何处理异常?)
JVM:是Java vitrual machine翻译成中文就是JAVA虚拟机。在main函数收到异常时有两种处理方式,第一种经过执行开发人员编写的代码处理异常,然后继续运行程序。
第二种Jvm有一个默认的异常处理机制,就将该异常进行处理,并且将该异常的名称、异常的信息、异常出现的位置打印在控制台上,同时将程序停止运行。
编程人员进行处理异常时依然有两种方法:try...catch...finally和throws方式。
下面通过代码的方式展示默认处理异常方式。
此时计算2除以2的运算,并且将结果打印出来,在控制台上的输出结果为1;没有异常报错。
随后增加2除以0的运算以及打印hello world的语句,在数学运算中0不能够作为被除数的存在,因此在控制台上会进行报错。
控制台中显示在主函数中存在名为ArithmeticException异常,该异常是由于运算条件错误而引起,比如一个整数“除以零”时就会抛出此异常,并且显示异常在程序的第6行和第10行。这里也体现出虚拟机在默认处理异常时会在发生异常后就强行终止程序,可以在控制台中看到hello world并没有显示出来,证明该语句没有被执行。
Try...catch方式用于处理单个异常。这种方法有三种处理格式:try...catch、try...catch...finally以及try...finally。下面展示如何通过该方法处理异常。
其中try板块用于异常检测、catch板块进行处理异常、fianlly用于释放资源使用。当没有异常发生时catch中代码就不会被执行,如果发生异常try中代码会立刻将异常的对象赋值给catch中的变量名,执行catch中的代码。
在控制面板上有hello world输出,可以看出经过编码后,即使出现异常程序依然能够顺利完整的执行。
大家对Java异常学习还有什么问题,可以在评论区留言,如果您喜欢这篇文章,懂懂小手,点个赞或者关注,谢谢大家支持!