Chen's WinterSakura
TOP
主页 空间 收藏 IT资讯 分享 联系建议

学习分享

最坏的习惯,是苟安于当下的生活,不知道明天的方向

关于 错误Error和 异常Exception(摘选自网络,用于个人使用,如有侵犯请联系)2017-12-30

一、Java----异常类

在 Java 中,所有的异常都有一个共同的祖先 Throwable(可抛出)。Throwable 指定代码中可用异常传播机制通过 Java 应用程序传输的任何问题的共性。




Throwable 有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类。




       1、.Exception(异常)是应用程序中可能的可预测、可恢复问题。一般大多数异常表示中度到轻度的问题。异常一般是在特定环境下产生的,通常出现在代码的特定方法和操作中。在 EchoInput 类中,当试图调用 readLine 方法时,可能出现 IOException 异常。 

       Exception 类有一个重要的子类 RuntimeException。RuntimeException 类及其子类表示“JVM 常用操作”引发的错误。例如,若试图使用空值对象引用、除数为零或数组越界,则分别引发运行时异常(NullPointerException、ArithmeticException)和 ArrayIndexOutOfBoundException。

       2、.Error(错误)表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。例如,当 JVM 不再有继续执行操作所需的内存资源时,将出现 OutOfMemoryError。 




二、检查异常 和 未检查异常 的划分 

Java中的异常分为两大类:

       1.Checked Exception(非Runtime Exception)

       2.Unchecked Exception(Runtime Exception)

运行时异常:

       1.RuntimeException类是Exception类的子类,它叫做运行时异常,Java中的所有运行时异常都会直接或者间接地继承自RuntimeException类。

       2.Java中凡是继承自Exception,而不继承自RuntimeException类的异常都是非运行时异常。

       3.一个try后面可以跟多个catch,但不管多少个,最多只会有一个catch块被执行。

对于非运行时异常(checked exception),必须要对其进行处理,否则无法通过编译:

       处理方式有两种:

              1.使用try..catch..finally进行捕获;

              2.在产生异常的方法声明后面写上throws 某一个Exception类型,如throws Exception,将异常抛出到外面一层去。

              3.对于运行时异常(runtime exception),可以对其进行处理,也可以不处理。推荐不对运行时异常进行处理。

免责声明

本网站属于个人的非盈利性网站、博客,主要是一些学习过程中的一些心得分享和笔记,同时可能存在部分非私人原创撰写的文章,由于在过程中浏览过别人分享于本人的资源,可能一些源自于网络,亦可能误摘抄他人分享转载的文章,按照目前互联网开放的原则,将在不通知作者的情况下,转载文章;如果原文明确注明“禁止转载”,被本人误载入,非常抱歉,请务必来信告知:miku109040azusa@vip.qq.com

© 2016-2017 Build by Chen | WinterSakura.COM 粤ICP备17119124号