网站虚拟主机公司,深圳网站建设合同范本,电商平台官网,网站开发待遇有需要互关的小伙伴,关注一下,有关必回关,争取今年认证早日拿到博客专家
finally 块中的代码什么时候被执行#xff1f;
#xff08;1#xff09;如果try{}语句块中有return语句#xff0c;而finally{}语句块中没有return语句时#xff0c;finally{}块中的代码在return语…有需要互关的小伙伴,关注一下,有关必回关,争取今年认证早日拿到博客专家
finally 块中的代码什么时候被执行
1如果try{}语句块中有return语句而finally{}语句块中没有return语句时finally{}块中的代码在return语句前执行。
因为由于程序执行return语句就意味着结束对当前函数的调用并跳出这个函数体因此任何语句要执行都只能在return前执行因此finally块里代码也是在return前执行的。
2如果在try{}语句块和finally语句块都有return语句时finally语句块中的return语句将会覆盖函数中其他return语句。以下方法返回什么?
private static String extracted1() {try {int i 10 / 0;return ok;} catch (Exception e) {System.out.println(exception);return exception;} finally {System.out.println(finally);return finally;}
}以下方法返回什么?
private static String extracted2() {try {return ok;} catch (Exception e) {System.out.println(exception);return exception;} finally {System.out.println(finally);return finally;}
}try-catch-finally 中那个部分可以省略
try后面至少得有其一Error 和 Exception 的区别
运行时异常与受检异常有何异同
throw 和 throws 的区别
throw:当前方法向外抛异常
throws:声明当前方法可能会抛出一个或者多个异常常见的异常类有哪些
NullPointerException
ClassCastException
数组下标越界异常ArrayIndexOutOfBoundsException
文件未找到异常FileNotFoundException
字符串转换为数字异常NumberFormatException
操作数据库异常SQLException
输入输出异常IOException
方法未找到异常NoSuchMethodException
java.lang.OutOfMemoryError
java.lang.StackOverflowError主线程可以捕获到子线程的异常吗
正常情况下如果不做特殊的处理在主线程中是不能够捕获到子线程中的异常的。public static void main(String[] args) {try {new Thread(() - {int i 10 / 0;}).start();} catch (Exception e) {// 不会执行System.out.println(子线程发生了异常);}
}