异常
一共15篇文章
专题:第10期
-
异常的设计原则有哪些
参考答案 异常的设计原则: 不要将异常处理用于正常的控制流; 对可以恢复的情况使用受检异常,对编程错误使用运行时异常; 避免不必要的使用受检异常; 优先使用标准的异常; 每个方法抛出的异常都要有文档; 保持异常的原子性; 不要在 catch 中忽略掉捕获到的异常。 以上,是Java面试题【异常的设计原则有哪些】的参考答案。 输出,是最好的学习方法。 欢迎在评论区留下你的问题、笔记或知…...- 宝妹儿
- 165
- 0
-
Java中异常处理机制
参考答案 Java 异常的结构 Throwable 1. Error 是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。 2. Exception RuntimeException:运行时异常,编译通过了,但运行时出现的异常。 非 RuntimeException:编译时(受检)异常,编译器检测到某段代…...- 宝妹儿
- 5
- 0
-
运行时异常与受检查异常有什么区别
参考答案 运行时异常:包括 RuntimeException 类及其子类,表示 JVM 在运行期间可能出现的异常,Java 编译器不会检查运行时异常。 受检查异常:是Exception中除RuntimeException 及其子类之外的异常,Java 编译器会检查受检异常。 运行时异常与受检查异常的主要区别:是否强制要求调用者必须处理此异常,如果强制要求调用者必须进行处理,那么就使用受检异常,否则…...- 宝妹儿
- 34
- 0
-
什么时候会发生空指针异常
参考答案 一、发生空指针异常的几种情况 1. 调用 null 对象的实例方法; 例如: 这句话出现空指针异常,那么一定是由btn_GetDate引起的。 btn_GetDate.setOnClickListener(btnListener); 因为只有在btn_GetDate为空时调用了实例方法,这句话才会出现空指针异常; 2. 访问或修改 null 对象的字段; 3. 当一个数组为null,试图…...- 宝妹儿
- 70
- 0
-
有哪些避免空指针的方法
参考答案 一、空指针定义 当一个变量的值为null时,在Java中表示一个不存在的空对象,没有实际内容,没有给它分配内存,null也是对象成员的默认值。 所以,一个对象如果没有进行初始化操作,如果此时调用这个对象的方法或者变量,就会出现空指针异常。 实例: Object obj = null; String str = obj.toString(); 二、什么时候会发生空指针异常 前往查看:什么时…...- 宝妹儿
- 9
- 0
-
try-catch-finally中哪个部分可以省略
参考答案 catch 和 finally 语句块可以省略其中一个。 否则编译会报错。 package constxiong.interview; public class TestOmitTryCatchFinally { public static void main(String[] args) { omitFinally(); omitCatch(); } /** * 省略finally 语…...- 宝妹儿
- 90
- 0
-
throw和throws的区别
参考答案 throw和throws的区别: throw 位于方法体内部,可作为单独语句使用; 表示方法内抛出某种异常对象(只能是一个); 用于程序员自行产生并抛出异常; 异常对象是非 RuntimeException,需要在方法申明时加上该异常的抛出。即:需添加throws 语句,或在方法体内try catch 处理该异常,否则编译时会报错; 执行到 throw 语句时,后面的语句块不再执行。 t…...- 宝妹儿
- 61
- 0
-
return与finally的执行顺序,对返回值的影响
参考答案 try 和 finally 至少一个语句块包含 return 语句的情况: finally 没有 return,finally 对 return 变量的重新赋值修改无效; finally 语句块会执行; try 和 finally 都包含 return,return 值以 finally 语句块 return 值为准。 实例: public static void main(String…...- 宝妹儿
- 37
- 0
-
finally语句块一定执行吗
参考答案 不一定。 因为存在很多特殊情况,导致 finally 语句块不执行,例如: 直接返回未执行到 try-finally 语句块 抛出异常未执行到 try-finally 语句块 系统退出未执行到 finally 语句块 ...... 实例: public static String test() { String str = null; int i = 0; if (i == 0) { r…...- 宝妹儿
- 57
- 0
-
Error和Exception的区别
参考答案 Error类和Exception类都继承自Throwable类。 Error的继承关系 java.lang.Object java.lang.Throwable java.lang.Error Exception的继承关系 java.lang.Object java.lang.Throwable java.lang.Exception 一、概念不同 Error:程序无法处理的系统错误,编…...- 宝妹儿
- 57
- 0
-
final、finally、finalize的区别
参考答案 final 表示最终的、不可改变的。用于修饰类、方法和变量。final 修饰的类不能被继承;final 方法也同样只能使用,不能重写,但能够重载;final 修饰的成员变量必须在声明时给定初值或者在构造方法内设置初始值,只能读取,不可修改;final 修饰的局部变量必须在声明时给定初值;final 修饰的变量是非基本类型,对象的引用地址不能变,但对象的属性值可以改变。 fi…...- 宝妹儿
- 50
- 0
-
Java可以一次catch多个异常吗
参考答案 异常处理: 声明异常时,建议声明更为具体的异常,这样可以处理的更具体; 对方声明几个异常,就对应几个catch块, 如果多个catch块中的异常出现继承关系,父类异常catch块放在最下面。 实例演示: class Demo { int div(int a,int b) throws ArithmeticException,ArrayIndexOutOfBoundsException//…...- 宝妹儿
- 43
- 0