当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:16:00  来源:本站整理

浅析Java语言中存在两种主要非常的差别[Java编程]

赞助商链接



  本文“浅析Java语言中存在两种主要非常的差别[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

Java供应了两类主要的非常:runtime exception和checked exception.全部的checked exception是从java.lang.Exception类衍生出来的,而runtime exception则是从java.lang.RuntimeException或java.lang.Error类衍生出来的.

它们的差别之处表目前两方面:机制上和逻辑上.

1、机制上

它们在机制上的差别表目前两点: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.

相比之下,当你调用method2()时,则不需求把它放在try/catch程序块当中,因为它会抛出的exception不是checked exception,而是runtime exception.会抛出runtime exception的办法在定义时没必要声明它会抛出exception.

目前,让我们再来看看method3().它调用了method1()却没有把这个调用放在try/catch程序块当中.它是通过声明它会抛出method1()会抛出的exception来避免这样做的.它没有捕捉这个exception,而是把它传送下去.实际上main()办法也可以这样做,通过声明它会抛出Checked exception来避免利用try/catch程序块(当然我们反对这种做法).


  以上是“浅析Java语言中存在两种主要非常的差别[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 浅析Java中Data类的操纵
  • Java底子:浅析Java抽象类和接口的比较
  • 浅析Java语言中存在两种主要非常的差别
  • 浅析Java语言中的内部类
  • 浅析Java的"克隆"办法
  • 浅析Java的线程机制
  • 浅析Java EE容器重安置时间的调查数据
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .