运行时异常与非运行时异常有什么区别?

运行时异常 RuntimeException 又称为非检查异常 uncheck exception。是 Exception 的子类。

在 Java 中,异常可以分为两种。Error 和 Exception,它们的父类是 Throwable。

Error

一些底层的类出错,无法用 java 程序来解决。例如:内存泄露

Exception

分为 运行时异常 和 非运行时异常。

  • 运行时异常是指 RuntimeException 或者它的子类。不需要在方法签名声明抛出运行时异常,同样也不需要在方法体中捕获。

    例如:空指针异常 NullPointerException,数组越界异常 IndexOutOfBoundsException…

    public class MyNumberException extends RuntimeException {public MyNumberException(String message){super(message);}
    }public class Test {public static void main(String[] args){MyNumberException exception = new MyNumberException("Operand type cannot be integer");throw exception; // 不需要对异常进行处理}
    }
    
  • 非运行时异常是指 Exception 及它的子类中 非RuntimeException 的类,需要程序猿在方法签名声明抛出非运行时异常,交给方法的调用者处理(如果方法调用途中一直交给上层处理,最终会交给 JVM,导致程序终止运行);或者在该方法体中对非运行时异常进行捕获。例如:ClassNotFoundException,IOException…

public class MyNumberException extends Exception {public MyNumberException(String message){super(message);}
}public class Test {public static void main(String[] args){MyNumberException exception = new MyNumberException("Operand type cannot be integer");try {throw exception;} catch (MyNumberException e) {e.printStackTrace();}}
}

运行时异常与非运行时异常有什么区别?相关推荐

  1. java运行时异常的特点是什么_Java运行时异常和非运行时异常

    1.Java异常机制 Java把异常当做对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类.Java中的异常分为两大类:错误Error和异常Exception,Java ...

  2. Java检查异常、非检查异常、运行时异常、非运行时异常的区别

    Java检查异常.非检查异常.运行时异常.非运行时异常的区别 参考文章: (1)Java检查异常.非检查异常.运行时异常.非运行时异常的区别 (2)https://www.cnblogs.com/ou ...

  3. Java基础——运行时异常和非运行时异常

    文章目录 Java中异常机制的体系结构 Error(错误) Exception(异常) 运行时异常和非运行时异常的区别 结束 Java中异常机制的体系结构 在Java中,万物皆对象,异常也不例外. E ...

  4. Java运行时异常和非运行时异常

    1.Java异常机制 Java把异常当做对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类.Java中的异常分为两大类:错误Error和异常Exception,Java ...

  5. Java 运行时异常和非运行时异常

    异常类型分为两类:运行时异常和非运行时异常. 一.运行时异常: 运行时异常(RuntimeException),一般不需要程序员进行捕获. 例如:NullPointException,IndexOut ...

  6. 运行时异常和非运行时异常

    [强制]Java 类库中定义的可以通过预检查方式规避的RuntimeException异常不应该通过catch 的方式来处理,比如:NullPointerException,IndexOutOfBou ...

  7. 【Java基础】运行时异常和非运行时异常的区别

    非运行异常: 非运行时异常也叫作编译时异常,如果不对这种异常进行捕获则无法编译,Java编译器要求程序员必须对这种异常catch,Java认为这种异常都是可以被修复的异常,所以Java程序要求显式处理 ...

  8. java非检查性异常有哪些_Java异常处理-检查性异常、非检查性异常、Error

    一.Java异常处理详解 异常.png 目录: 1.java中异常的分类 1.1 异常(Exception) 1.1.1 运行时异常(RuntimeException) 可以不需要捕获 1.1.2 编 ...

  9. PLSQL——动态SQL、异常(预定义异常、非预定义异常、自定义异常)、引发应用程序错误

    1.动态 SQL 动态 SQL 是指在PL/SQL程序执行时生成的 SQL 语句 编译程序对动态 SQL 不做处理,而是在程序运行时动态构造语句.对语句进行语法分析并执行 DDL 语句命令和会话控制语 ...

最新文章

  1. Cisco路由器基础安全配置---特权模式和VTY线路密码
  2. 虚拟机无法访问主机mysql_虚拟机linux端mysql数据库无法远程访问的解决办法
  3. 牛赞:音视频前端跨平台技术应用
  4. arm linux 进程页表,linux-kernel – ARM Linux页表项格式 – 未使用的位?
  5. linux 系统内如何查看当前CPU详细信息
  6. 什么是计算机与网络的接口,什么是计算机接入网络的接口设备
  7. oracle用户导出和导入用不同的用户名,oracle用exp\imp导出导入,及创建表空间与用户...
  8. ionic tab(选项卡)
  9. SpringMVC使用AJAX上传图片
  10. Nginx教程之Rewrite语法规则和开源网站程序伪静态规则详解
  11. Adaboost算法——详细讲解
  12. 微型计算机之哈佛架构是什么?
  13. 【PS】图片背景透明化
  14. HTML5 AJAX跨域请求
  15. XGBOOST + LR 模型融合 python 代码
  16. c语言 字母方阵,运用C语言制作拉丁方阵的实现方法
  17. 直播礼物特效-快手直播礼物分析
  18. android 无线音乐播放器,玩转Openwrt(二) — 配合Android手机打造无线音乐播放器...
  19. Linux查看硬件信息命令(转)
  20. 静态词向量预训练模型

热门文章

  1. 麒麟659可以升级鸿蒙吗,这8款华为手机已经定了将升级“很吓人的技术”
  2. HDU3535:分组背包
  3. 最近收集的一些图片(第2期)
  4. Oracle数据库从入门到精通,带你轻松入门!
  5. MySQL基础练习题及答案(表的简单查询)-02
  6. ubuntu下主机显卡问题
  7. 性能测试之Jmeter参数化
  8. GitKraken Crack,Git GUI 客户端发布板和时间线
  9. 升级maven编译插件_maven进阶插件
  10. 淘宝首页html css