【发布时间】:2011-04-13 16:50:49
【问题描述】:
我有一些类似的代码:
final int var1;
if ( isSomethingTrue ) {
var1 = 123;
} else {
throwErrorMethod();
}
int var2 = var1;
throwErrorMethod 的定义如下:
private void throwErrorMethod() throws Exception{
throw new Exception();
}
我收到 blank final field may not have been initialized 编译错误 var2 = var1 语句。如果我内联方法,编译没问题!
- 编译器在调用的方法上没有看到
throws Exception吗? - 为什么会出现包含
may字样的错误停止编译?!?
【问题讨论】:
标签: java compiler-construction compiler-errors compiler-warnings