Exception和RuntimeException的区别

观察以下代码

1 public class TestRuntimeException {
2     @Test
3     public void test(){
4         String str = "123"; //全部由数字组成
5         int i = Integer.parseInt(str);
6         System.out.println(i*i);
7     }
8 }

由文档知parseInt()的定义格式为:

public static int parseInt(String s)

throws NumberFormatException

我们可以看到在此方法中明明使用了throws抛出异常,但我们在调用时为什么不用处理就可以编译通过呢?

我们可以看到NumberFormatException继承之RuntimeException,其实在Java的异常处理机制中:

  • l 如果抛出的是Exception异常,则必须使用try...catch处理;
  • l 如果抛出的是RuntimeException异常,则不是必须要使用try...catch处理,一旦发生异常则直接交由JVM处理。但是为了程序的健康,建议在可能出现异常的地方使用try...catch处理。

原文地址:https://www.cnblogs.com/mzct123/p/8283567.html

时间: 2024-10-02 07:07:14

Exception和RuntimeException的区别的相关文章

RuntimeException和Exception事务处理中的区别

异常的分类: ① 异常的继承结构:基类为Throwable,Error和Exception继承Throwable,RuntimeException和IOException等继承Exception,具体的RuntimeException继承RuntimeException. ② Error和RuntimeException及其子类成为未检查异常(unchecked),其它异常成为已检查异常(checked). runtimeException就是运行时异常,它是java编译器事先不可预见的异常.

Exception和RuntimeException

public class RuntimeExceptionDemo01 { public static void main(String[] args) {     String string="123";     int temp=Integer.parseInt(string);     System.out.println("123*123=: "+temp*temp); } }       public static int parseInt(String

Throwable、Error、Exception、RuntimeException 区别 联系

转载 https://blog.csdn.net/liuj2511981/article/details/8524418 概要: 1.Throwable 类是 Java 语言中所有错误或异常的超类.它的两个子类是Error和Exception: 2.Error 是 Throwable 的子类,用于指示合理的应用程序不应该试图捕获的严重问题.大多数这样的错误都是异常条件.虽然 ThreadDeath 错误是一个"正规"的条件,但它也是 Error 的子类,因为大多数应用程序都不应该试图捕

Throwable、Error、Exception、RuntimeException 区别

1.java将所有的错误封装为一个对象,其根本父类为Throwable, Throwable有两个子类:Error和Exception. 2.Error是Throwable 的子类,用于指示合理的应用程序不应该试图捕获的严重问题.大多数这样的错误都是异常条件.虽然   ThreadDeath 错误是一个“正规”的条件,但它也是 Error 的子类,因为大多数应用程序都不应该试图捕获它.在执行该方法期间,无需在其 throws 子句中声明可能抛出但是未能捕获的 Error的任何子类,因为这些错误可

Java Exception和Error的区别

Java中异常的抽象类是Throwable,在此基础上,派生出两大类:Error和Exception. Error是程序中的严重错误,不应该用try-catch包括.Javadoc的说明如下: An Error is a subclass of Throwable that indicates serious problems that a reasonable application should not try to catch. Most such errors are abnormal

异常:exception和error的区别

Throwable 是所有 Java 程序中错误处理的父类 ,有两种子类: Error 和 Exception . Error :表示由 JVM 所侦测到的无法预期的错误,由于这是属于 JVM 层次的严重错误 ,导致 JVM 无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息. Exception :表示可恢复的例外,这是可捕捉到的. Java 提供了两类主要的异常 :runtime exception 和 checked exception . checked

Java中RuntimeException和Exception

在java的异常类体系中,Error和RuntimeException是非检查型异常,其他的都是检查型异常. 所有方法都可以在不声明throws的情况下抛出RuntimeException及其子类 不可以在不声明的情况下抛出非RuntimeException 简单的说,非RuntimeException必要自己写catch块处理掉.   RuntimeException不用try catch捕捉将会导致程序运行中断,若用则不会中断 1.RuntimeException 今天摩根IT电面的时候被问

java异常——Exception、RuntimException

一.Exception和RuntimeException的区别 Exception是RuntimeException的父类,使用了 Exception 的类都必须对异常进行处理(try / throw / throws) RuntimeException 可以由选择性的对异常进行处理(可以不处理) 二.常见的 RuntimeException(即RuntimeException的子类) ClassCastException FileSystemNotFoundException IndexOut

关于异常的一点认识

在异常中最大的类是Throwable,分为二个子类:Exception,Error Exception:是程序可以处理的异常 Error:表示JVM错误,一般程序无法处理 Exception与RuntimeException的区别: 1.如果抛出的是Exception的类型,则必须使用try...catch进行处理. 2.如果抛出的是RuntimeException的类型,则不是必须使用try...catch进行处理,一旦发生异常将由JVM进行处理,但是为了保证程序的健康性,建议在有可能出现异常