![](/img/trans.png)
[英]Eclipse SVN Commit “fails” after upgrading from Ubuntu 10.04 LTS to 12.04 LTS
[英]Exception error in java when moving from ubuntu 12.04 to 10.04
我正在使用Sparrow的Kmax制作数据采集软件。 我正在ubuntu 12.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
该问题的出现是由于:
throw e;
由于您是从catch块中抛出一个java.lang.Exception对象,因此您的方法签名必须包含throws子句来说明这一点,因此您的方法签名现在变成了(否则编译器会抱怨):
public double getValueFrom(String widgName) throws Exception
此更改将解决问题。
正如异常所说明的那样,该函数应该通过父类的异常,因此您可以通过如下所示的示例来定义函数
public double getValueFrom(String widgName) throws Exception
{
// body
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.