uml*_*uml 3 java runtime compile-time
可能重复:
运行时与编译时间
我怎么知道Java中的特定代码行是否会抛出编译时或运行时错误?假设特定的代码行无论如何抛出并出错.
Cas*_*roy 13
在Eclipse中,编译时错误将以红色下划线.编译时错误是编译器检测到的错误.编译时错误的常见原因包括:
如果编译器在编译期间检测到任何错误,则无法构建新的程序集(或Java中的类文件).
即使您的代码没有编译时错误,运行时仍可能发生错误.诸如"逻辑错误"和"运行时错误"之类的错误.运行时错误的一个很好的例子如下:
要检测确切地发生运行时错误的行,可以在Eclipse中使用断点组合并进行适当的异常处理.
实际上,每一行代码都可能在理论上引发运行时异常,并且没有"抛出编译时错误"这样的事情.我相信您已将编译器错误与运行时异常混淆.
无论如何,编译器错误很简单:编译并查看.关于它们永远不会有任何"可能":一行代码肯定会或者不会产生编译器错误.
至于运行时错误,您可以做的最好的事情是静态分析并猜测一行代码是否会导致错误.有些案例很明显,例如throw new RuntimeException()或者null.toString(),但大多数情况都没有,并且需要很好的经验来分析而不执行.