Java面试题6 异常
自己尝试通过打字来回答一些网上常见的面试题,答案仅代表我自己的观点
74. throw 和 throws 的区别?#
throw
用于抛出一个异常,throws
用于在方法签名上声明该方法可能抛出的异常,代表向外界宣称我要执行的工作可能抛出这种异常,但我并不知道如何处理,就交给调用者处理吧。
75. final、finally、finalize 有什么区别?#
???你不问我真不知道它们有关系。。。憨批问题吗???
final
用于声明一个类、方法、属性是最终的,被它修饰的类、方法、和属性无法被二次修改finally
是异常控制流中的一块,其中是无论是否发生了异常都会执行的逻辑。finalize
是Java中一个已经废弃的方法,它是Object类的一个方法,JVM会在对象将要被GC回收时调用该方法,你可以在该方法中执行一些清理操作或者将该对象重新与引用链相连来“营救”该对象。JVM并不保证finalize
方法的完整执行,所以不推荐使用它来清理数据。
76. try-catch-finally 中哪个部分可以省略?#
可以省略catch
,只用try-finally
,也可以省略finally
、只用try-catch
。不能同时省略。
77. try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?#
不管是否return
,在try
还是catch
中return
,finally
都会正常执行,并且return
语句会延后在finally
执行完毕后执行。
78. 常见的异常类有哪些?#
- IOException: IO异常
- IllegalArgumentException: 非法参数异常
- ArrayIndexOutOfBoundsException: 数组下标越界异常
- NullPointerException: 空指针异常
作者:Yudoge
出处:https://www.cnblogs.com/lilpig/p/16404317.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
欢迎按协议规定转载,方便的话,发个站内信给我嗷~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)