gpt4 book ai didi

Java经典面试题汇总:异常

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 39 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Java经典面试题汇总:异常由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

1. Java的异常机制

Java经典面试题汇总:异常

Throwable类是Java异常类型的顶层父类,一个对象只有是 Throwable 类的(直接或者间接)实例,他才是一个异常对象,才能被异常处理机制识别。JDK中内建了一些常用的异常类,我们也可以自定义异常.

Throwable又派生出Error类和Exception类.

错误:Error类以及他的子类的实例,代表了JVM本身的错误。错误不能被程序员通过代码处理,Error很少出现。因此,程序员应该关注Exception为父类的分支下的各种异常类.

异常:Exception以及他的子类,代表程序运行时发送的各种不期望发生的事件。可以被Java异常处理机制使用,是异常处理的核心.

2. Java如何自定义异常?

自定义异常类只需从Exception类或者它的子类派生一个子类即可。自定义异常类如果继承Exception类,则为受检查异常,必须对其进行处理;如果不想处理,可以让自定义异常类继承运行时异常RuntimeException类.

?
1
2
3
4
5
6
7
8
public class BizException extends Exception {
     //默认构造器
     public BizException() {
     }
     public BizException(String message) {
         super (message);
     }
}

3. throw 和 throws 的区别?

throw:是真实抛出一个异常.

throws:是声明可能会抛出一个异常.

4. Java 中被检查的异常和不受检查的异常有什么区别?

被检查的异常应该用 try-catch 块代码处理或用 throws 关键字抛出,不受检查的异常在程序中不要求被处理或用 throws 抛出.

5. final、finally、finalize 有什么区别?

final:是修饰符,如果修饰类,此类不能被继承;如果修饰方法和变量,则表示此方法和此变量不能在被改变,只能使用.

finally:是 try{} catch{} finally{} 最后一部分,表示不论发生任何情况都会执行,finally 部分可以省略,但如果 finally 部分存在,则一定会执行 finally 里面的代码.

finalize: 是 Object 类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法 。

6. try-catch-finally 中哪个部分可以省略?

try-catch-finally 其中 catch 和 finally 都可以被省略,但是不能同时省略, 也就是说有 try 的时候,必须后面跟一个 catch 或者 finally.

7. try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?

finally 一定会执行,即使是 catch 中 return 了,catch 中的 return 会等 finally 中的代码执行完之后,才会执行.

8. Java 中什么时候使用断言?

断言在开发中是一种常用的调试方式,很多开发语言中都支持这种机制。一般来说,断言用于保证程序最基本、关键的正确性,断言检查通常在开发和测试时开启,为了保证程序的执行效率,在软件发布后断言检查通常是关闭的,断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为 true,如果表达式的值为 false 则系统会报告一个 AssertionError.

9. 运行时异常与一般异常有何异同?

异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常.

10. 你平时在项目中是如何对异常进行处理的?

(1)尽量避免出现runtimeException 。比如对于可能出现空指针的代码。带使用对象之前一定要推断一下该对象是否为空。必要的时候对runtimeException也进行try catch处理.

(2)进行try catch处理的时候要在catch代码块中对异常信息进行记录,通过调用异常类的相关方法获取到异常的相关信息,返回到web端,给到给用户良好的用户体验.

11. 常见的异常类有哪些?

  • NullPointerException 空指针异常
  • ClassNotFoundException 指定类不存在
  • NumberFormatException 字符串转换为数字异常
  • IndexOutOfBoundsException 数组下标越界异常
  • ClassCastException 数据类型转换异常
  • FileNotFoundException 文件未找到异常
  • NoSuchMethodException 方法不存在异常
  • IOException IO 异常
  • SocketException Socket 异常

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注我的更多内容! 。

原文链接:https://blog.csdn.net/javanbme/article/details/117397294 。

最后此篇关于Java经典面试题汇总:异常的文章就讲到这里了,如果你想了解更多关于Java经典面试题汇总:异常的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com