当前位置: 首页 > 后端技术 > Java

【Java面试】请简单说说你对checkedexception和uncheckedexceptions的理解

时间:2023-04-01 15:20:42 Java

嗨,我是Mic,今天给大家分享一道来自阿里巴巴的面试题。这个题目比较基础,但是着实难住了很多人。关于“checkedexception和uncheckedexception的理解”,我们来看看普通人和高手的回答。普通人:嗯。......其他不需要运行异常捕获的异常需要强行捕获,比如一些IO异常。师父:好的。所谓checkedexception是指编译时强制检查的异常。这种异常需要通过try/catch捕获或者通过throws抛出,否则程序无法编译通过。Non-checkedexceptions表示不需要编译器检查的异常,这种异常不需要显示出来捕获。在Java中,所有异常都继承自java.lang.Throwable类。Throwable有两个直接子类,Error和Exception。error用于表示底层程序或硬件相关的错误,与程序本身无关,比如常见的OOM异常。这种异常与程序本身无关,所以不需要检查,属于非检查异常。Exception表示程序中出现异常,可能是程序不精确导致的,如NullPointerException。Exception派生自RuntimeException和其他异常,其中RuntimeException运行时异常也属于未检查异常。因此,除了Error、RuntimeException和派生类之外,其他异常都是checked异常,比如IOException和SQLException。Java之所以设计一些强制检查异常,我想主要是考虑程序的正确性、稳定性和可靠性。比如数据库异常、文件读取异常,这些异常是程序无法事先预料到的,但是一旦出现问题,就会导致资源被占用,导致程序出现问题。因此,我们需要主动捕获这些异常。一旦出现问题,我们可以进行相应的处理,比如关闭数据库连接,释放文件流。以上是我对这个问题的理解!这个问题总结起来并不难,但是在实际工作中,如何利用好异常是非常重要的。从大师的回答中可以明显看出他对异常的理解是比较深刻的。他介绍了checked和unchecked异常,以及Java中如何对这两种异常进行分类。最后,他解释了这两个异常。的价值。喜欢我作品的朋友记得点赞收藏关注。版权声明:除特别声明外,本博客所有文章均采用CCBY-NC-SA4.0许可协议。转载请注明来自Mic带你学建筑!如果本文对您有帮助,请给个关注和点赞。您的坚持是我不断创作的动力。欢迎关注同名微信公众号获取更多技术干货!