Java的可检测异常和非检测异常泾渭分明。可检测异常经编译器验证,对于声明抛出异常的任何方法,编译器将强制执行处理或声明规则。

非检测异常不遵循处理或声明规则。在产生此类异常时,不一定非要采取任何适当操作,编译器不会检查是否已解决了这样一个异常。有两个主要类定义非检测异常:RuntimeException和Error。

为什么Error子类属于非检测异常?这是因为无法预知它们的产生时间。若Java应用程序内存不足,则随时可能出现OutOfMemoryError;起因一般不是应用程序中的特殊调用,而是JVM自身的问题。另外,Error类一般表示应用程序无法解决的严重问题,故将这些类视为非检测异常。

RuntimeException类也属于非检测异常,一个原因是普通JVM操作引发的运行时异常随时可能发生。与Error不同,此类异常一般由特定操作引发。但这些操作在Java应用程序中会频繁出现。例如,若每次使用对象时,都必须编写异常处理代码来检查null引用,则整个应用程序很快将变成一个庞大的try-catch块。因此,运行时异常不受编译器检查与处理或声明规则的限制。

将RuntimeException类作为未检测异常还有一个原因:它们表示的问题不一定作为异常处理。可以在try-catch结构中处理NullPointerException,但若在使用引用前测试空值,则更简单,更经济。同样,可以在除法运算时检查0值,而不使用ArithmeticException。

java授查 非授查异常_java检查异常与非检查异常相关推荐

  1. java未检查异常_Java中已检查和未检查的异常

    java未检查异常 Java有两种类型的异常-已检查和未检查. 简而言之,选中的是指开发人员可以从异常中合理恢复的情况,而未选中的异常是无法处理的编程错误. 本文介绍了何时使用哪种. 但这不是那么简单 ...

  2. java常见的5个异常_Java中常见的五种异常

    1.ClassCastException(类转换异常) 数据类型转换错误,比如有个String temp="abc"; 如果设为(int)temp就会报错了,因为它们类型不一样,但 ...

  3. java 内部类异常_Java笔记(三 内部类、异常、编程规范)

    内部类(Outer.java) 在一个类中定义另外一个类,这个类就叫做内部类或内置类(inner class) 内部类和外部类分属不同的空间,都有自己的数据变量和数据方法,内部类仍然是一个独立的类 内 ...

  4. java内存区域与内存溢出异常_Java内存区域与内存溢出异常

    Java的内存管理是一个老生常谈的问题,虽然Java号称可以自动管理自己的内存,使程序员从内存管理的围墙解放出来,但是一连串的内存泄漏和溢出方面的问题,使得我们不得不去深入了解Java的内存管理机制. ...

  5. java静态类和非静态类的区别_Java中静态内部类和非静态内部类到底有什么区别?...

    内部类(Inner Class)和静态内部类(Static Nested Class)的区别: 定义在一个类内部的类叫内部类,包含内部类的类称为外部类.内部类可以声明public.protected. ...

  6. java中怎么调用非静态方法有哪些_java中 静态方法和非静态方法的调用

    静态方法里面不能调用非静态方法 package com.zqz.image; public class HellowWord { public void say(String word){// 非静态 ...

  7. Java异常-受查与非受查

    Java异常-受查与非受查 所有的异常都是由Throwable继承而来,下级分为Error和Exception Error Error表示Java运行时系统的内部错误和资源耗尽错误,不应该抛出该类型的 ...

  8. java运行时异常与非运行时异常_java 运行时异常与非运行时异常理解

    所谓的异常就是阻止当前程序或方法继续执行的问题. java异常分为两种:运行时异常(RuntimeException)和非运行时异常(CheckedException)也叫检查式异常. 1.运行时异常 ...

  9. Java中非法参数的异常_Java中的异常

    异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等.异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程.Java通 过API中Throwable类的众多子类描述各种不同的异常. ...

  10. java异常_Java的异常体系

    保证程序的健壮性 java异常体系 error:比如栈内存溢出(StackOverError) Exception这种异常又分为两类:运行时异常和编译异常. 1.运行时异常(逻辑异常):代码不规范引起 ...

最新文章

  1. 云计算灾备原理与预防恢复方案
  2. Tensorflow + OpenCV4 安全帽检测模型训练与推理
  3. python恶搞表情包-Python开发个人专属表情包网站,表情在手,天下我有
  4. wingide运行两个项目_Python开发环境Wing IDE使用教程:设立项目
  5. ubuntu 安装sun-java5-jdk
  6. 百度开平台BAE搭建网站
  7. 报错org.apache.htrace htrace-core4 4.1.0 incubating htrace-core4.jar 报错spark
  8. Java经纬度坐标转换到平面坐标
  9. 如何做组间差异检验_买套餐送车险,做维修提供代步车,考拉爱车如何实现差异化竞争?...
  10. 系统集成项目管理工程师
  11. 纯html5单击箭头切换图片,简单的实现点击箭头图片切换的js代码
  12. 2021-2027全球与中国射频发生器市场现状及未来发展趋势
  13. Java学习笔记:IDEA快捷方式的图标问题
  14. 亚马逊网络关联是什么
  15. 对m720蓝牙优联已配对设备进行更换
  16. GPGPU基础(二):GPGPU需要用到的OpenGL概念
  17. 花2w培训数据分析真的值得吗?
  18. 需求管理之相关方分析
  19. apue unp代表含义
  20. 通过 WiFi 信标进行基于边缘的被动人群监控

热门文章

  1. cnpm安装webpack_Webpack(一)介绍
  2. GPS无线视频服务器,宏电环卫车无线视频监控与GPS定位系统设计方案.docx
  3. Win7系统网页视频无法播放怎么办
  4. IE浏览器高级设置如何还原
  5. 腾讯视频怎么设置下载视频位置
  6. roads 用户体验标准_全球领先技术加持,联发科 天玑1000+刷新5G用户体验新标准...
  7. 数据字典在sga的哪一个组件中缓存_【赵强老师】Oracle数据库的内存结构
  8. python打包成exe_Python打包成exe时,再犯这几个错误就说不过去了
  9. bloomberg用法 固定收益_内部收益率的用法浅谈某保险的真实收益率
  10. 眉骨高者为大贵之相_男人此处“高大”,大富大贵,前途不可限量!!