【发布时间】:2015-04-10 13:46:52
【问题描述】:
抱歉英语不好。
显然,除以零总是未定义的。那么为什么这是运行时的异常呢?为什么这不是编译错误?除以零的结论在运行时不变。它与执行后确定的文件未找到异常之类的不同。
System.out.println(1/0);
另一个例子:
Person firstPerson = (Person) new Object();
编译器允许父子转换,但它在运行时抛出异常。
【问题讨论】:
-
我认为对此没有“真正”的答案。最后,还是要看语言规范的清晰程度;以及编写编译器的人花费了多少精力。
标签: java exception compiler-errors