英文:
Why I have an error, but not an exception?
问题
> 在不实现 Cloneable 接口的实例上调用 Object 的 clone 方法会导致抛出 CloneNotSupportedException 异常。
为什么会出现错误:
> clone() 在 java.lang.Object 中具有受保护的访问权限
但是没有抛出 CloneNotSupportedException 异常?
public class Test
{
public static void main(String[] args)
{
Test2 c1 = new Test2();
Test2 c2 = (Test2) c1.clone(); // 错误:clone() 在 java.lang.Object 中具有受保护的访问权限
}
}
class Test2
{
}
英文:
> Invoking Object's clone method on an instance that does not implement
> the Cloneable interface results in the exception
> CloneNotSupportedException being thrown.
Why I have an error
> clone() has protected access in java.lang.Object
but not CloneNotSupportedException exception?
public class Test
{
public static void main(String[] args)
{
Test2 c1 = new Test2();
Test2 c2 = (Test2) c1.clone(); // error: clone() has protected access in java.lang.Object
}
}
class Test2
{
}
答案1
得分: 7
因为错误出现在编译时。
异常是在运行时发生的。程序甚至没有编译通过,所以你没有达到运行时。
英文:
Because the error is at compile time.
Exception are at runtime. The program didn't even compile, so you didn't reach runtime.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论