Java parseInt和parseLong引发不支持的操作异常
Java parseInt和parseLong引发不支持的操作异常,java,eclipse,Java,Eclipse,Integer.parseInt(“5”)和Long.parseLong(“5”)正在Eclipse表达式窗口中抛出一个不支持操作异常 我认为这也是我在运行时遇到的一个例外,但由于对Eclipse不熟悉,我不确定如何在调试会话中找到e的类型: public static long longTryParse(String text, long fallbackValue) { try { return Long.parseLong(text); } catch (Exceptio
Integer.parseInt(“5”)
和Long.parseLong(“5”)
正在Eclipse表达式窗口中抛出一个不支持操作异常
我认为这也是我在运行时遇到的一个例外,但由于对Eclipse不熟悉,我不确定如何在调试会话中找到e
的类型:
public static long longTryParse(String text, long fallbackValue) {
try {
return Long.parseLong(text);
} catch (Exception e) {
return fallbackValue; // When stopping at a breakpoint here, Eclipse says that e is of type 'Exception'. Well, that's informative.
}
}
所以
这些陈述有效吗李>
如果是,为什么我会得到一个例外李>
(不太重要)为什么Eclipse在调试会话期间不说e是类型UnsupportedOperationException而不是Exception
谢谢 根据parseInt只能抛出NumberFormatException,这意味着UnsupportedException来自代码中的不同位置
parseInt
public static int parseInt(String s)
throws NumberFormatException
将字符串参数解析为有符号十进制整数。人物
字符串中的所有字符都必须为十进制
数字,除了第一个
字符可以是ASCII减号
“-”(“\u002D”)表示负数
价值生成的整数值为
返回,就像参数
基数为10,如下所示:
对
parseInt(java.lang.String,int)
方法
根据parseInt只能抛出NumberFormatException,这意味着UnsupportedException来自代码中的不同位置
parseInt
public static int parseInt(String s)
throws NumberFormatException
将字符串参数解析为有符号十进制整数。人物
字符串中的所有字符都必须为十进制
数字,除了第一个
字符可以是ASCII减号
“-”(“\u002D”)表示负数
价值生成的整数值为
返回,就像参数
基数为10,如下所示:
对
parseInt(java.lang.String,int)
方法
尝试在显示异常类型的catch块中放入sysout
System.out.println(e);
而且,正如suresh所提到的,它只能抛出NumberFormatException,尝试将sysout放入显示异常类型的catch块中
System.out.println(e);
而且,正如suresh提到的,它只能抛出NumberFormatException,我认为您应该首先尝试解析文本变量,并将其放入另一个长变量中并打印。这样您就可以知道是否完成了解析。这样您就可以知道问题出在哪里。我认为您应该首先尝试解析文本变量,然后将其放入另一个长变量中并打印出来。这样您就可以知道是否完成了解析。这样你就能知道问题出在哪里了
这些陈述有效吗
是的。。。作为普通Java程序上下文中的Java表达式
在Eclipse调试器的表达式计算器的上下文中,我不确定
如果是,为什么我会得到一个例外
我不确定,但我怀疑这与调试器本身有关
- 一种可能是您错误地使用了表达式求值功能
- 另一种可能性是,这是Eclipse调试器中的错误,或者是Eclipse调试器和JVM中的调试代理之间的不匹配
我知道的一件事是parseInt
和parseLong
方法本身不会抛出UnsupportedOperationException
。(理论上,他们可以这样做,因为这是一个未经检查的异常。但我检查了这两个方法的源代码,如果以正常方式执行,代码是无法做到这一点的。)
Google查询——“site:eclipse.org+unsupportdoperationexception JDI”——显示了eclipse问题数据库和新闻组/邮件列表中的大量点击
在某些情况下,问题似乎在于目标平台的JDI/JNDI实现不完整。这可能是你的问题吗?你提到你正在做Android开发
这些陈述有效吗
是的。。。作为普通Java程序上下文中的Java表达式
在Eclipse调试器的表达式计算器的上下文中,我不确定
如果是,为什么我会得到一个例外
我不确定,但我怀疑这与调试器本身有关
- 一种可能是您错误地使用了表达式求值功能
- 另一种可能性是,这是Eclipse调试器中的错误,或者是Eclipse调试器和JVM中的调试代理之间的不匹配
我知道的一件事是parseInt
和parseLong
方法本身不会抛出UnsupportedOperationException
。(理论上,他们可以这样做,因为这是一个未经检查的异常。但我检查了这两个方法的源代码,如果以正常方式执行,代码是无法做到这一点的。)
Google查询——“site:eclipse.org+unsupportdoperationexception JDI”——显示了eclipse问题数据库和新闻组/邮件列表中的大量点击
在某些情况下,问题似乎在于目标平台的JDI/JNDI实现不完整。这可能是你的问题吗?您提到您正在进行Android开发…异常是声明的e
类型,这通常显示在Java透视图的工具提示中。如果eclipse没有告诉您更多,首先确保您处于调试透视图(而不是Java透视图)中
我猜您对eclipse工具提示的配置有问题。您应该在变量视图中看到有关异常的更多信息(如果未打开,请尝试Window/Show view/Variables)
此外,当调试在断点处停止时,您可以在源代码中标记e
,然后按CTRL+I(检查)。你应该得到一个弹出窗口,告诉你更多关于e
编辑:这是关于了解更多关于e。我同意早期的海报,你不能也不能