Java throw语句异常怎么处理(java,throw,编程语言)

时间:2024-04-29 13:06:26 作者 : 石家庄SEO 分类 : 编程语言
  • TAG :

    Java+throw%E8%AF%AD%E5%8F%A5%E5%BC%82%E5%B8%B8%E6%80%8E%E4%B9%88%E5%A4%84%E7%90%86

  所有的方法都使用“throw”语句来抛出一个异常。Throw语句需要一个单独throwable对象,这个对象是任意Throwable类的子类。如下类所示:

   throw someThrowableObject;
   让我们在程序的上下文中来看一下throw语句。下面的pop方法把来自于一个公共堆栈中的一个执行类给删除。这个方法从堆栈上面的元素,并且返回被删除的对象。

   public Object pop() throws EmptyStackException {
   Object obj;
   if (size == 0) {
   throw new EmptyStackException();
   }
   obj = objectAt(SIZE - 1);
   setObjectAt(SIZE - 1, null);
   size--;
   return obj;
   }
   pop方法检查堆栈上是否有元素。如果堆栈是空的(也就是说它的尺寸等于0),pop方法就会实例化一个新的EmptyStackException对象(它是java.util中的一个成员),并且抛出它。在这章的后面一节会解释怎样创建自己的异常类。对于现在,你所需要记住的是你只能抛出继承于java.lang.Throwable类的对象。

   注意,pop方法的声明中包含了一个throws子句。EmptyStackException是一个检查性异常,并且pop方法没有捕捉这个异常。因此,这个方法必须使用throws子名来声明它所抛出的异常的类型。

   Throwable 类和它的子类
   继承Throwable类的对象包括直接子类(直接继承于Throwable类的对象)和间接子类(继承于Throwable类的子类的对象)。下图说明了Throwable类的层次关系和最主要的一些子类。象你看到的一样,Throws有两个直接的子类:Error类和Exception类。

   Error类
   当在Java虚拟机中发生动态连接失败或其它的定位失败的时候,Java虚拟机抛出一个Error对象。典型的简易程序不捕获或抛出Errors对象。

   Exception类
   大多数程序都抛出或捕获衍生于Exception类的对象。一个异常表明发生了一个问题,但它不是严重的系统问题。你编定的大多数程序将会抛出或捕获Exceptions对象(而不是Errors对象)。

   在Java平台中Exception类有许多已经定义了的子类。这些子类说明所发生的异常的各种类型。例如,IllegalAccessException异常类说明了不能找到一个特殊的方法;NegativeArraySizeException异常类说明程序试图创建一个带有负尺寸的数组。

   有一个特殊的Exception子类:RuntimeException。这个子类是在程序运行期间在Java虚拟机内部所发生的异常。例如NullPointerException类就是一个运行时异常类,在一个方法试图通过一个null引用来访问一个对象的成员时会发生这个异常。在Unchecked Exceptions---The Controversy这一节中,我们会讨论为什么典型的程序不应该抛出运行时异常或RuntimException类的子类异常对象。

本文:Java throw语句异常怎么处理的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:JAVA技术的知识点有哪些下一篇:

5 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18