我剛開始使用新的Eclipse 4.2(Juno)空分析。有沒有辦法將Java方法標記(例如註釋)爲永不返回?
在這樣的代碼:
x = foo();
if (x == null)
fail("x is null");
return x.bar();
我收到x可以是空的警告。但它不可能,因爲失敗總是拋出,因此永遠不會返回。 (通過更好的程序間分析,它可能會自動確定這一點,但它目前似乎並不存在)。
顯然,有些方法可以重寫代碼以避開警告,但是我想要的是一種指示(例如註釋)失敗的方式永不返回。
我也試圖用@SuppressWarnings(「null」)來壓制這個警告,但那不起作用。擺脫警告
一種方法是添加:assert x != null;
(假設你已經打開的設置,包括在無效分析稱)
在GCC C++我可以這樣做:void fn __attribute__ ((noreturn))
我不知道這種情況。你是否需要這個,還是更多的是學術探究? – BlackVegetable
這並不重要,因爲我可以輕鬆解決它,但它來自實際生產代碼。 –