Exception与RuntimeException的区别(异常的基本概念)

Exception与RuntimeException的区别(异常的基本概念)

首先观察一下代码:

public classRuntimeExceptionDemo
{
      public static void main(String args[])
      {
           String str1="21";//定义字符串
           int temp=Integer.parseInt(str1);//将字符串变成INT型
           System.out.println(temp*temp);//输出乘方
      }
}

编译---运行后发现没有问题!其中用到了parseInt()方法。

parseInt()的定义格式:

 由API文档可知:public static int parseInt(String s,

                          int radix)

                   throws NumberFormatException

在此方法中用了throws关键字抛出异常,可是不用捕获处理异常就编译成功了!通过查找可知如下关系

java.lang.Object
      java.lang.Throwable
         java.lang.Exception
             java.lang.RuntimeException
                 java.lang.IllegalArgumentException
                       java.lang.NumberFormatException

其中

Exception
RuntimeException
IllegalArgumentException
NumberFormatException
为继承关系!但是我们抛出RuntimeExeption的子类lang.NumberFormatException没有需要执行try...catch,如果抛出的是Excption则需要执行try...catch;

我们得出结论:

   在Java的异常处理机制中:

1.如果抛出的是Exception的类型,则必须使用try…catch进行处理!

2.如果抛出的是RuntimeException的类型,则不是必须使用try…catch处理,一旦发生异常之后将有JVM进行处理!但是为了保证代码的健康性,建议在可能有异常的地方使用try…catch进行处理!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值