网站首页 > java教程 正文
6.被检查的异常和不受检查的异常有什么区别?
答:
A.被检查的异常应该用try-catch块代码处理,或者在main方法中用throws关键字让JRE了解程序可能抛出哪些异常。不受检查的异常在程序中不要求被处理或用throws语句告知。
B.Exception是所有被检查异常的基类,然而,RuntimeException是所有不受检查异常的基类。
C.被检查的异常适用于那些不是因程序引起的错误情况,比如:读取文件时文件不存在引发的FileNotFoundException。然而,不被检查的异常通常都是由于糟糕的编程引起的,比如:在对象引用时没有确保对象非空而引起的NullPointerException。
7.在Java中throw与throws关键字之间的区别?
答:throws用于在方法签名中声明此方法可能抛出的异常,而throw关键字则是中断程序的执行并移交异常对象到运行时进行处理。
8.在Java中怎么写自定义的异常?
答:我们能继承Exception类或其任何子类来实现自己的自定义异常类。这自定义异常类可以有自己变量和方法来传递错误代码或其它异常相关信息来处理异常。
下面是一个简单的自定义异常示例:
9.在Java中什么是内存不足错误?
答:在Java中,OutOfMemoryError是 java.lang.VirtualMachineError的一个子类,当堆内存耗尽时会被JVM抛出。我们能通过设置Java选项来提供更大的内存供应用使用来达到修复的目的。
10.引发Exception in thread main的各种不同情形?
答:通常的一些主线程异常情形主要有以下几种:
- Exception in thread main java.lang.UnsupportedClassVersionError:当编译和运行Java类的JDK版本不同的时出现这种异常。
- Exception in thread main java.lang.NoClassDefFoundError:这种异常出现的原因有两种:第一种是提供类全名时附带有.class;第二种是指定类未找到。
- Exception in thread main java.lang.NoSuchMethodError: main:当试图运行一个没main方法的类时会出现这种异常。
- Exception in thread main java.lang.NoSuchMethodError: main:无论何时main方法任何异常,它打印异常到控制台。其第一部分是陈述main方法抛出的异常,第二部分打印异常类名,后接异常类信息。
11.Java中final,finally,finalize的区别?
答:final和finally在Java中是关键字,而finalize则是一个方法。
final关键字使得类变量不可变,避免类被其它类继承或方法被重写。finally跟try-catch块一起使用,即使是出现了异常,其子句总会被执行,通常,finally子句用来关闭相关资源。finally方法中的对象被销毁之前会被垃圾回收。
综上三者,只有finally用于异常处理。
12.在main方法抛出异常时发生了什么?
答:当main方法抛出异常时,Java运行时间终止并在控制台打印异常信息和栈轨迹。
13.catch子句能为空吗?
答:可以有空的catch子句,但那是最糟糕的编程,因为那样的话,异常即使被捕获,我们也得不到任何的有用信息,对于调试来说会是个噩梦,因此,编程时永远不要有空的catch子句。Catch子句中至少要包含一个日志语句输出到控制台或保存到日志文件中。
猜你喜欢
- 2024-10-26 Java中字符串填充零和去零的常用方法
- 2024-10-26 java OOM内存泄漏原因及解决方法(java常见内存泄漏原因)
- 2024-10-26 高级Java开发 面试必备的JVM知识点(一)
- 2024-10-26 解决ServletException: java.lang.NoSuchMethodError
- 2024-10-26 干货:日常Java报错整理(java的错误异常怎么处理)
- 2024-10-26 SpringBoot执行jar报错java.lang.OutOfMemoryError_指定内存大小
- 2024-10-26 Springboot2.0学习6 使用配置文件
- 2024-10-26 Java类型之间的转换(java类型之间的转换是什么)
- 2024-10-26 mybatis中报出java.lang.UnsupportedOperationException错误
- 2024-10-26 JavaEE 项目常见错误汇总(进一步补充)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)