我正在製作一個數據採集軟件,使用Sparrow's Kmax。我在我的Ubuntu 12.04筆記本電腦上編寫代碼。我創建的方法之一是以下Java中的異常錯誤從Ubuntu 12.04移到10.04時
public double getValueFrom(String widgName) {//Read data from user input text fields
KmaxWidget widg = tlsh.getKmaxWidget(widgName);
String str = widg.getProperty("TEXT");
double num = 0;
try {
num = Double.parseDouble(str);
}
catch (Exception e) {
tlsh.setProperty("STATUSSTR", "Attention! Channel and Energy must be double precision number. i.e. 10, 3.14 etc.");
tlsh.showWarning("Choose a double precision number.");
throw e;
}
return num;
} // getValueFrom
當我在我的筆記本電腦上編譯代碼它沒有任何錯誤。當我將代碼複製到了Ubuntu 10.04桌面我得到一個異常代碼
unreported exception java.lang Exception: must be caught or declared to be thrown
throw e;
^
掠過我腦海的是,他們有不同的版本的Java的第一件事。事實上,這是真的,所以我更新了10.04的Java,但同樣的錯誤發生。任何想法可能是錯誤的?
編輯我還添加了throws Exception
方法的參數之後,但每當這個方法被稱爲我的錯誤(這兩個系統上)
unreported exception Exception; must be caught or declared to be thrown
該代碼是不是在任何* *的Java版本有效。我對你的筆記本上編譯的聲明深表懷疑。你只是*不能從不聲明它的方法拋出java.lang.Exception。 –
您無法在任何Java版本中進行編譯。 –
@JonSkeet:我如何證明上述代碼在筆記本電腦上編譯?在箱子下面的「通道」中,我輸入「p」以使警告框彈出。 http://imgur.com/vDMUQfG – Thanos