栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Connor学Java - Day08

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Connor学Java - Day08

Learn && Live

虚度年华浮萍于世,勤学善思至死不渝

前言

Hey,欢迎阅读Connor学Java系列,这个系列记录了我的Java基础知识学习、复盘过程,欢迎各位大佬阅读斧正!原创不易,转载请注明出处:http://t.csdn.cn/ve3t6,话不多说我们马上开始!

1.介绍一下finally?

异常处理语句结构的一部分

(1)无论try-catch中是否捕获到异常,finally中的代码一定会被执行

(2)当try-catch中出现return时,会先执行完finally中的代码后再return

(3)下面情况finally不会被执行:①程序在进入try块之前就出现异常;②在finally块中出现异常;③在前面的代码中使用System.exit()退出程序;④程序所在的线程死亡;⑤关闭CPU

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

catch可以省略。catch用来捕获、处理受检异常,因此当对可能出现受检异常的语句需要使用try-catch来捕获、处理,否则编译不通过;但当语句可能出现的异常为运行时异常时,无法在编译期使用catch捕获,因此在此情况下可以省略catch

3.Java异常类的划分?


Error:这些错误表示故障发生于虚拟机自身、或者发生在虚拟机试图执行应用时,如Java虚拟机运行错误(Virtual MachineError)、类定义错误(NoClassDefFoundError)等。这些错误是不可查的,因为它们在应用程序的控制和处理能力之 外,而且绝大多数是程序运行时不允许出现的状况

Exception:分为受检异常和运行时异常

(1)受检异常:必须在编译期进行捕获和处理,try-catch或throws

(2)运行时异常:程序中可以选择捕获处理,也可以不处理。这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。

4.throw和throws的区别?

(1)throw:在方法体内部,表示抛出某一异常类的实例,由方法体内部的语句处理,表示向外抛异常的动作

(2)throws:在方法声明后,表示该方法内可能会抛出异常,而方法本身没有处理,需要调用者做进一步处理,表示处理异常的动作

5.主线程可以捕获到子线程的异常吗?

线程设计的理念:线程的问题应该线程自己来解决,而不要委托到外部

正常情况下,在主线程中是不能够捕获到子线程中的异常的。如果想实现这一操作,可以调用Thread的静态方法

Thread.setDefaultUncaughtExceptionHandler(new MyUncaughtExceptionHandle());
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/996399.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号