什么是异常 java_什么是Java的异常(Exception)

什么是Java语言的异常呢? 从字面理解,异常(Exception)就是超出了程序员预计的某些特殊情况,不在正常的情况之列。异常的处理,对于Java程序是至关重要的,谈到异常,我们首先要提起的就是Throwable。

Throwable类是Java语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过Java虚拟机或者Java throw语句抛出。

Throwable类有两个直接子类:Error和Exception。Exception类对象是Java程序处理或抛弃的对象。Java 提供了两种Exception 的模式,一种是执行的时候所产生的Exception (Runtime Exception),另外一种则是受控制的Exception (Checked Exception)。所有的Checked Exception 均从java.lang.Exception 继承而来,而Runtime Exception 则继承java.lang.RuntimeException 或java.lang.Error (实际上java.lang.RuntimeException 的上一层也是java.lang.Exception)。它有各种不同的子类分别对应于不同类型的例外。其中类RuntimeException代表运行时由Java虚拟机生成的例外。

程序的运作机制上看,Runtime Exception与Checked Exception不一样,从逻辑上看,Runtime Exception 与Checked Exception 在使用的目的上也不一样。

一般而言,Checked Exception 表示这个Exception 必须要被处理,也就是说程序设计者应该已经知道可能会收到某个Exception(因为要try catch住) ,所以程序设计者应该能针对这些不同的Checked Exception 做出不同的处理。而Runtime Exception 通常会暗示着程序上的错误,这种错误会导致程序设计者无法处理,而造成程序无法继续执行下去。

Java的可控制异常处理是通过5个关键字来实现的:try,catch,throw,throws,finally。这些关键字的使用,我们今后再讨论。

下面是Java中几个基本异常,是我们调试程序时经常会遇到的,有必要熟记于心:

ArithmeticException 当出现异常算术条件时产生; NullPointerException

当应用程序企图使用需要的对象处为空时产生; ArrayIndexOutOfBoundsException 数组下标越界时产生;

ArrayStoreException 当程序试图存储数组中错误的类型数据时产生; FileNotFoundException

试图访问的文件不存在时产生; IOException 由于一般I/O故障而引起的,如读文件故障;

NumberFormatException 当把字符串转换为数值型数据失败时产生; OutOfMemoryException

内存不足时产生; SecurityException 当小应用程序(Applet)试图执行由于浏览器的安全设置而不允许的动作时产生;

StackOverflowException 当系统的堆栈空间用完时产生;

StringIndexOutOfBoundsException 当程序试图访问串中不存在的字符位置时产生;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值