我想在线程级别理解java中的异常传播。
此方法将应用于已检查和未检查的异常。如果我错了,请纠正我。
有了上面的解释,我不能理解静态块中的异常是如何处理的,因为它们将在类加载时被调用。
对此有什么想法吗?
发布于 2013-03-14 17:40:35
静态块中的代码也是在线程中执行的(即使它确实是在类初始化时调用的),因此同样的策略也适用于从静态块抛出的未检查异常。
请注意,如果您的代码从静态块引发检查过的异常,则会出现编译错误。
发布于 2013-03-14 18:05:45
Java严格而精确地定义了类被初始化的时刻(而不是装入,BTW!)。它总是由一些Java代码触发,因此触发类init的特定Java代码行将收到异常。没有魔法,没有特殊情况,它总是在运行时发生,就像任何其他异常一样。
https://stackoverflow.com/questions/15405458
复制相似问题