首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

非受检异常(运行时异常)和受检异常的区别等

非受检异常指的是java.lang.RuntimeException和java.lang.Error类及其子类,所有其他的异常类都称为受检异常。...两种类型的异常在作用上并没有差别,唯一的差别就在于使用受检异常的合法性要在编译时刻由编译器来检查。正因为如此,受检异常在使用的时候需要比非受检异常更多的代码来避免编译错误。   ...Java.lang.IllegalMonitorStateException   Java.lang.IllegalStateException   Java.lang.IndexOutOfBoundsException   Java.lang.ArrayIndexOutOfBoundsException...这种限制从好的方面来说,可以防止开发人员意外地忽略某些出错的情况,因为编译器不允许出现未被处理的受检异常;从不好的方面来说,受检异常对程序中的设计提出了更高的要求。

3K20

初识Java异常处理

1、除法计算开始。 2、除法计算结果:5 3、除法计算结束。 范例:产生异常的程序 ? 1、除法计算开始。...java.lang.ArithmeticException: / by zero at TestDemo.main(TestDemo.java:4) 可以发现,加入了异常处理之后,程序之中即使有了异常,程序也可以正常的执行完毕,但是现在发现,异常处理的错误输出信息和之前相比...,出错的信息不明确了,那么为了让错误的信息更加的完整,一般而言,都会调用printStackTrace()方法进行异常信息的打印,这个方法打印的异常信息是最完整的: java.lang.ArithmeticException...= args[0] ; // 接收第一个参数 String str2 = args[1] ; // 接收第二个参数 i = Integer.parseInt(str1) ; // 将第一个参数由字符串变为整型...|- java.lang.IndexOutOfBoundsException |- java.lang.ArrayIndexOutOfBoundsException 可以发现所有的异常类型最高的继承类是

49700
您找到你想要的搜索结果了吗?
是的
没有找到

RuntimeException和Exception区别

UML图如下: 说明 1.Error和Exception区分: Error是编译错误和系统错误,系统错误在除特殊情况下,都不需要你来关心,基本不会出现。...重要的事情说三遍,因为不受检查,所以在代码中可能会有RunTimeExceptionJava编译检查不会告诉你有这个异常,但是在实际运行代码则会暴露出来,比如经典的1/0,空指针等。...是从java.lang.RuntimeException或java.lang.Error类衍生出来的。...当可用内存不足以让Java虚拟机分配给一个对象抛出该错误。 java.lang.StackOverflowError 堆栈溢出错误。当一个应用递归调用的层次太深而导致堆栈溢出抛出该错误。...当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式,抛出该异常。 java.lang.RuntimeException 运行时异常。

1.1K10

【Java】已解决java.lang.ArrayIndexOutOfBoundsException异常

一、问题背景 java.lang.ArrayIndexOutOfBoundsException 是 Java 中一个非常常见的运行时异常,它表明程序试图访问数组的非法索引。...这种情况通常发生在数组越界访问,即试图访问的索引值小于 0 或大于或等于数组的实际长度。 这种异常经常出现在循环迭代、数组操作或者与数组相关的算法中,尤其是当没有正确检查数组边界。...二、可能出错的原因 循环条件设置错误,导致索引超出数组界限。 硬编码的索引值错误,比如数组长度只有 5,但代码中使用了索引 5 或更高。...动态计算索引值逻辑错误,如数组索引值基于其他变量或方法返回的结果,而这些值可能并不总是正确的。...五、注意事项 在编写与数组相关的代码,应注意以下几点: 检查数组长度:在访问数组元素之前,始终检查数组的长度和索引值。 避免硬编码索引:尽量不要使用硬编码的索引值,而是使用变量或表达式来计算索引。

95030

java每日一练(2017916)

B java.lang.NumberFormatException C java.lang.RuntimeException D java.lang.ArrayindexOutOfBoundsException.../my/1.txt" C "c:\\my\\1.txt" D "c:\ my\1.txt" ---- (单选题)3、关于 访问权限说法正确 的是 ?...C 在创建子类的对象,若不含带参构造函数,将先执行父类的无参构造函数,然后再执行自己的无参构造函数。 D 子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。...---- 上一期的错题 (单选题)1、下列关于构造方法不正确的是:( ) A 类的构造方法和类同名 B 一个类可以有多个构造方法 C 在实例化对象必须调用类的构造方法 D 构造方法可以和该类其他方法一样被该类对象调用...正确答案是:D 解析: 1.构造方法也是类的方法,可以在创建对象为成员变量赋值 2.构造方法可以进行重载,但是参数列表必须不相同,不以返回值和访问级别进行区分 3.构造方法没有返回值所以不用void

95380

异常处理

java运行系统中的类部错误像内存溢出等 Exception类称为非致命性类,可通过捕捉处理程序使其继续执行 Exception又分为运行异常(RuntimeException和其下子类)和其他类属于编译异常...catch中并开始执行catch中的代码 class test{ public static void main(String[] args) { int[] arr = {1,2,3...: 3 java.lang.ArrayIndexOutOfBoundsException: 3 at first.a.test.main(test.java:13) 使用多个...除非在之前虚拟机被关闭System.exit()或者它本身有异常以及程序所在线程死亡,这些种情况下才不会被执行 抛出异常 throws通常被应用在声明方法来指定抛出的异常 调用声明了异常的方法就会有编译异常...即包含此语句的方法 class test{ static void ff(int a) throws Exception{ if(a==0){ throw new Exception("出错

91210

java中的异常总结

当可用内存不足以让Java虚拟机分配给一个对象抛出该错误。 java.lang.StackOverflowError 堆栈溢出错误。当一个应用递归调用的层次太深而导致堆栈溢出抛出该错误。...java.lang.ArrayIndexOutOfBoundsException 数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。...当使用负数大小值创建数组抛出该异常。 java.lang.NoSuchFieldException 属性不存在异常。当访问某个类的不存在的属性抛出该异常。...当访问某个类的不存在的方法抛出该异常。 java.lang.NullPointerException 空指针异常。当应用试图在要求使用对象的地方使用了null,抛出该异常。...当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式,抛出该异常。 java.lang.RuntimeException 运行时异常。

1.4K30

Java异常详解

负责回收资源 如果本方法中没有合适的处理异常的方式, 就会沿着调用栈向上传递 如果向上一直传递都没有合适的方法处理异常, 最终就会交给 JVM 处理, 程序就会异常终止(和我们最开始未使用 try catch 是一样的...一、异常类的定义 Java异常 Java 中的异常是一种特殊的错误运行对象,又称例外,是Throwable 子类的实例,描述了出现在一段编码中的错误条件,当条件生成,错误将引发异常。...未找到欲装载使用的类 ArrayIndexOutOfBoundsException 数组越界使用 FileNotFoundException 未找到指定的文件或目录 IOException 输入、输出错误...此时编译过程中就会出错, 这是 “编译期” 出错. 而运行时指的是程序已经编译通过得到 class 文件了, 再由 JVM 执行过程中出现的错误....Test.main(Test.java:9) after try catch 如果向上一直传递都没有合适的方法处理异常, 最终就会交给 JVM 处理, 程序就会异常终止(和我们最开始未使用 try catch 是一样的

11010

Java常见Exception整理

前言:   技术开发入坑近1年,摸打滚爬,各种升级打怪。因目前从事Java相关,故整理了一下并把常见的异常(Exception)贴出来,一来为了后续提醒自己,二来供即将入坑的朋友打一下预防针!...A级(代码逻辑错误,运行出错1)空指针  java.lang.NullPointerException 2)数组越界 java.lang.ArrayIndexOutOfBoundsException...: 1 3)强制转换出错  或 4)字符串比较 ‘B.equlas(A)’,而非“A==B” B级(文本依赖相关) 1) 当前类路径下找不到文件 java.io.FileNotFoundException...2) jar依赖缺失或版本冲突 NoClassRefFoundError C级(编译构建相关) 1) tomcat端口占用  Address already in use: bind  解决方法...Java溢出1 2)java内容溢出2 OutOfMemory 后语:   当你觉得“我们从来不生产代码,我们只是代码的搬运工!”

46520

常见的几种RuntimeException

当可用内存不足以让Java虚拟机分配给一个对象抛出该错误。 java.lang.StackOverflowError 堆栈溢出错误。当一个应用递归调用的层次太深而导致堆栈溢出抛出该错误。...java.lang.ArrayIndexOutOfBoundsException 数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。...当使用负数大小值创建数组抛出该异常。 java.lang.NoSuchFieldException 属性不存在异常。当訪问某个类的不存在的属性抛出该异常。...当訪问某个类的不存在的方法抛出该异常。 java.lang.NullPointerException 空指针异常。当应用试图在要求使用对象的地方使用了null,抛出该异常。...当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式,抛出该异常。 java.lang.RuntimeException 执行时异常。

88110

【错误记录】Android 中使用 Room 框架访问数据库报错 ( cannot find implementation for xx.xxDatabase. xxDatabase_Impl )

15:22:18.829 E/AndroidRuntime: FATAL EXCEPTION: main Process: kim.hsl.roomdemo, PID: 27608 java.lang.RuntimeException...: Unable to start activity ComponentInfo{kim.hsl.roomdemo/kim.hsl.roomdemo.MainActivity}: java.lang.RuntimeException...at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1204) 二、解决方案 ---- 出现上述问题 , 只可能有两个方向出错...: 依赖配置错误 : 没有正确配置 Room 依赖 ; 注解使用错误 : 写代码 , 没有写对 如果使用的是 Kotlin 语言开发 , 导入依赖库 , 需要使用 kapt 导入注解处理器 ;...room-compiler:2.2.5' 上述问题的错误就是使用 Kotlin 语言开发 , 使用 annotationProcessor 导入注解处理器 ; 三、注解使用错误 ---- 出现上述问题 , 只可能有两个方向出错

78620

Java异常宝典

在开发过程中,我们会遇到各种各样的问题,这边博主给大家收集总结了一下,有需要的可以收藏哦~ 1、java.lang.ArithmeticException 算术运算异常,例如除数为0,所以引发了算数异常...原因是可能是字符串为空,或长度不足1 3、Java.lang.NullPointerException空指针异常 出现该异常的原因在于某个引用为null,但却调用了它的某个方法,这时就会出现该异常 4、...new Integer(0); 11、NegativeArraySizeException 创建一个大小为负数的数组错误异常,例如int[] arr = new int[10];int i = arr[-1]...文件已结束异常 14、FileNotFoundException 文件未找到异常 15、SQLException 操作数据库异常 16、NoSuchMethodException 方法未找到异常 17、java.lang.ArrayIndexOutOfBoundsException...当访问某个类的不存在的属性抛出该异常。 25、java.lang.RuntimeException 运行时异常。是所有Java虚拟机正常操作期间可以被抛出的异常的父类。

1.1K10

JAVA非受检异常和受检异常的区别等

非受检异常指的是java.lang.RuntimeException和java.lang.Error类及其子类,所有其他的异常类都称为受检异常。两种类型的异常在作用上并没有差别。...Java.lang.IllegalMonitorStateException   Java.lang.IllegalStateException   Java.lang.IndexOutOfBoundsException   Java.lang.ArrayIndexOutOfBoundsException...J2EE的环境,有多个不同的类加载器,也可能导致NoClassDefFoundError ClassNotFoundException,它是程序运行期间的异常,比如当我们尝试在运行时使用反射加载类,...存在一些需要用户在编译期间就去检查的问题,比如FileNotFoundException、IOException,这些异常涉及资源处理,调用者需要捕获,其实它可以提醒开发者,如果被调用的方法出现这类异常

2.2K20
领券