-
异常面试路线最全整理(附面试题精选及答案)
异常面试路线最全整理,附异常高频必考面试题及答案。 搞定异常面试题,看这一篇就够了,不用四处找资料,节约大量时间。 1 异常面试题及答案 Java 中常见的运行时异常有哪些 Java 中常见的异常有哪些 Java 异常有哪些分类 Java 可以一次catch多个异常吗 有哪些避免空指针的方法 什么时候会发生空指针异常 运行时异常与受检查异常有什么区别 Java中异常处理机制 异常的设计原则有…... -
异常学习进阶路线及资料(附大厂面试题合集)
生活总有惊喜和意外,code 也同样如此。 异常是程序运行过程中出现的错误,是 Java 语言健壮性的一个重要体现。 作为 Java 开发人员来说,学会如何处理异常,哪些异常必须处理,哪些异常可以往外抛......等,这些都是必需品。 不管是工作中还是面试中,掌握异常都是非常重要的。 我最新总结的这份异常学习进阶路线及资料,包含了异常涉及的所有核心知识点,可以用来参考学习、构建知识体系、复盘技术栈…... -
异常的设计原则有哪些
参考答案 异常的设计原则: 不要将异常处理用于正常的控制流; 对可以恢复的情况使用受检异常,对编程错误使用运行时异常; 避免不必要的使用受检异常; 优先使用标准的异常; 每个方法抛出的异常都要有文档; 保持异常的原子性; 不要在 catch 中忽略掉捕获到的异常。 以上,是Java面试题【异常的设计原则有哪些】的参考答案。 输出,是最好的学习方法。 欢迎在评论区留下你的问题、笔记或知…... -
Java中异常处理机制
参考答案 Java 异常的结构 Throwable 1. Error 是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。 2. Exception RuntimeException:运行时异常,编译通过了,但运行时出现的异常。 非 RuntimeException:编译时(受检)异常,编译器检测到某段代…... -
运行时异常与受检查异常有什么区别
参考答案 运行时异常:包括 RuntimeException 类及其子类,表示 JVM 在运行期间可能出现的异常,Java 编译器不会检查运行时异常。 受检查异常:是Exception中除RuntimeException 及其子类之外的异常,Java 编译器会检查受检异常。 运行时异常与受检查异常的主要区别:是否强制要求调用者必须处理此异常,如果强制要求调用者必须进行处理,那么就使用受检异常,否则…... -
什么时候会发生空指针异常
参考答案 一、发生空指针异常的几种情况 1. 调用 null 对象的实例方法; 例如: 这句话出现空指针异常,那么一定是由btn_GetDate引起的。 btn_GetDate.setOnClickListener(btnListener); 因为只有在btn_GetDate为空时调用了实例方法,这句话才会出现空指针异常; 2. 访问或修改 null 对象的字段; 3. 当一个数组为null,试图…... -
有哪些避免空指针的方法
参考答案 一、空指针定义 当一个变量的值为null时,在Java中表示一个不存在的空对象,没有实际内容,没有给它分配内存,null也是对象成员的默认值。 所以,一个对象如果没有进行初始化操作,如果此时调用这个对象的方法或者变量,就会出现空指针异常。 实例: Object obj = null; String str = obj.toString(); 二、什么时候会发生空指针异常 前往查看:什么时…... -
try-catch-finally中哪个部分可以省略
参考答案 catch 和 finally 语句块可以省略其中一个。 否则编译会报错。 package constxiong.interview; public class TestOmitTryCatchFinally { public static void main(String[] args) { omitFinally(); omitCatch(); } /** * 省略finally 语…... -
throw和throws的区别
参考答案 throw和throws的区别: throw 位于方法体内部,可作为单独语句使用; 表示方法内抛出某种异常对象(只能是一个); 用于程序员自行产生并抛出异常; 异常对象是非 RuntimeException,需要在方法申明时加上该异常的抛出。即:需添加throws 语句,或在方法体内try catch 处理该异常,否则编译时会报错; 执行到 throw 语句时,后面的语句块不再执行。 t…... -
return与finally的执行顺序,对返回值的影响
参考答案 try 和 finally 至少一个语句块包含 return 语句的情况: finally 没有 return,finally 对 return 变量的重新赋值修改无效; finally 语句块会执行; try 和 finally 都包含 return,return 值以 finally 语句块 return 值为准。 实例: public static void main(String…... -
finally语句块一定执行吗
参考答案 不一定。 因为存在很多特殊情况,导致 finally 语句块不执行,例如: 直接返回未执行到 try-finally 语句块 抛出异常未执行到 try-finally 语句块 系统退出未执行到 finally 语句块 ...... 实例: public static String test() { String str = null; int i = 0; if (i == 0) { r…... -
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:程序无法处理的系统错误,编…... -
final、finally、finalize的区别
参考答案 final 表示最终的、不可改变的。用于修饰类、方法和变量。final 修饰的类不能被继承;final 方法也同样只能使用,不能重写,但能够重载;final 修饰的成员变量必须在声明时给定初值或者在构造方法内设置初始值,只能读取,不可修改;final 修饰的局部变量必须在声明时给定初值;final 修饰的变量是非基本类型,对象的引用地址不能变,但对象的属性值可以改变。 fi…... -
Java可以一次catch多个异常吗
参考答案 异常处理: 声明异常时,建议声明更为具体的异常,这样可以处理的更具体; 对方声明几个异常,就对应几个catch块, 如果多个catch块中的异常出现继承关系,父类异常catch块放在最下面。 实例演示: class Demo { int div(int a,int b) throws ArithmeticException,ArrayIndexOutOfBoundsException//…... -
Java异常有哪些分类
参考答案 一、Error 、Runtime Exception 运行时异常 运行异常类对应于编译错误,它是指Java程序在运行时产生的由解释器引发的各种异常。 运行异常可能出现在任何地方,且出现频率很高,因此为了避免巨大的系统资源开销,编译器不对异常进行检查。 所以Java语言中的运行异常不一定被捕获。 出现运行错误往往表示代码有错误,如:算数异常(如被0除)、下标异常(如数组越界)等。 算术异常…... -
Java中常见的异常有哪些
参考答案 以下是Java常见的异常: 1. Java.lang.NullPointerException 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友…... -
Java中常见的运行时异常有哪些
参考答案 ArithmeticException - 算术运算中,被0除或模除; ArrayIndexOutOfBoundsException - 数组越界访问; ArrayStoreException - 数据存储异常,写数组操作时,对象或数据类型不兼容; ClassCastException - 类型转换异常; IllegalArgumentException - 方法的参数无效; Illeg…...