`
qys2010
  • 浏览: 123860 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

如何理解runtime exception和checked exception

    博客分类:
  • java
阅读更多
Java提供了两类主要的异常:runtime exception和checked exception.所有的checked exception是从java.lang.Exception类衍生出来的,而runtime exception则是从java.lang.RuntimeException或java.lang.Error类衍生出来的。

  它们的不同之处表现在两方面:机制上和逻辑上。

  一、机制上

  它们在机制上的不同表现在两点:1.如何定义方法;2. 如何处理抛出的异常。请看下面CheckedException的定义:

  public class CheckedException extends Exception
{

 public CheckedException() {}
 public CheckedException( String message )
 {
  super( message );
 }


  以及一个使用exception的例子:

  public class ExceptionalClass
{

 public void method1()
  throws CheckedException
  {
   // ... throw new CheckedException( “...出错了“ );
  }
 public void method2( String arg )
  {
   if( arg == null )
   {
    throw new NullPointerException( “method2的参数arg是null!” );
   }
  }
 public void method3() throws CheckedException
  {
   method1();
  }
}

  你可能已经注意到了,两个方法method1()和method2()都会抛出exception,可是只有method1()做了声明。另外,method3()本身并不会抛出exception,可是它却声明会抛出CheckedException.在向你解释之前,让我们先来看看这个类的main()方法: 

public static void main( String[] args )
{

 ExceptionalClass example = new ExceptionalClass();
 try
 {
  example.method1();
  example.method3();
 }
 catch( CheckedException ex ) { } example.method2( null );
}

  在main()方法中,如果要调用method1(),你必须把这个调用放在try/catch程序块当中,因为它会抛出Checked exception.

分享到:
评论

相关推荐

    详解Java中Checked Exception与Runtime Exception 的区别

    主要介绍了详解Java中Checked Exception与Runtime Exception 的区别的相关资料,这里提供实例帮助大家学习理解这部分内容,需要的朋友可以参考下

    Java精华(免费版)

    Java提供了两类主要的异常:runtime exception和checked exception。所有的checked exception是从java.lang.Exception类衍生出来的,而runtime exception则是从java.lang.RuntimeException或java.lang.Error类...

    Java高级程序设计:第8章-异常处理.pptx

    能够区分checked exception和 runtime exception 会使用 try-catch-finally 处理异常 方法声明异常 抛出异常 自定义异常类 语法错误, 运行期错误, 逻辑错误 语法错误: 没有遵循语法规则导致的错误。 运行期错误: ...

    Java反射封装库joor.zip

     }}// There are many checked exceptions that you are likely to ignore anyway catch (Exception ignore) { // ... or maybe just wrap in your preferred runtime exception: throw new RuntimeException(e);...

    JSTL详细标签库介绍

    target=_blank>关于runtime exception和checked exception</A> <LI><A title="Java 理论与实践: 关于异常的争论" href="http://www.jspcn.net/htmlnews/11453819700151449.html" target=_blank>Java 理论与...

    【09-异常处理】

    •Java的异常被分为两大类:Checked异常和Runtime异常(运行时异常)。所有 RuntimeException类及其子类的实例被称为Runtime异常;不是RuntimeException类及其子类 的异常实例则被称为Checked异常。 Checked...

    CLR via C# 3rd Edition

    增加了对checked和unchecked代码、BigInterger类型以及C# 4.0 dynamic类型的讨论。 Chapter 6-Type and Member Basics 无新话题。 Chapter 7-Constants and Fields 无新话题。 Chapter 8-Methods 新增了扩展...

    CSharp 3.0 With the .NET Framework 3.5 Unleashed(english)

    checked and unchecked Statements 274 Summary 277 12 Event-Based Programming with Delegates and Events 278 Exposing Delegates 279 Implementing Delegate Inference 285 Assigning Anonymous ...

    Professional.MFC.with.VC6

    Invisible at Runtime Show in "Insert Object" Dialog About Box Simple Frame Subclassing a Control Protecting the Innocent What's in the Project? COleControl Properties Stock Properties Adding...

    c#学习笔记.txt

    Checked 和 Uncheckedchecked, unchecked fixed 语句Fixed lock 语句Lock (1) foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组。foreach 语句用于循环访问集合以获取所需信息,但不应用于更改集合内容...

    Professional C# 3rd Edition

    The Common Language Runtime 4 Advantages of Managed Code 4 A Closer Look at Intermediate Language 7 Support for Object Orientation and Interfaces 8 Distinct Value and Reference Types 9 Strong Data ...

    C#浏览器编程,学习使用

    using System.Runtime.InteropServices; using SHDocVw; //******************************************************************// // 此类是一个主窗口类 // //本浏览器采用IE内核,多标签,多线程的一个浏览器,...

Global site tag (gtag.js) - Google Analytics