在JAVA中为什么字符转换为数值是会抛出异常?抛出什么异常?
2009-05-17
展开全部
Java 语言要求 java 程序中(无论是谁写的代码),所有抛出( throw )的异常都必须是从 Throwable 派生而来。 当然,实际的 Java 编程中,由于 JDK 平台已经为我们设计好了非常丰富和完整的异常对象分类模型。因此, java 程序员一般是不需要再重新定义自己的异常对象。而且即便是需要扩展自定义的异常对象,也往往会从 Exception 派生而来。所以,对于 java 程序员而言,它一般只需要在它的顶级函数中 catch(Exception ex) 就可以捕获出所有的异常对象。 所有异常对象的根基类是 Throwable , Throwable 从 Object 直接继承而来(这是 java 系统所强制要求的),并且它实现了 Serializable 接口(这为所有的异常对象都能够轻松跨越 Java 组件系统做好了最充分的物质准备)。从 Throwable 直接派生出的异常类有 Exception 和 Error 。 Exception 是 java 程序员所最熟悉的,它一般代表了真正实际意义上的异常对象的根基类。也即是说, Exception 和从它派生而来的所有异常都是应用程序能够 catch 到的,并且可以进行异常错误恢复处理的异常类型。而 Error 则表示 Java 系统中出现了一个非常严重的异常错误,并且这个错误可能是应用程序所不能恢复的,例如 LinkageError ,或 ThreadDeath 等。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对于字符转换成数值,做了下面的测试:
class CharTest
{
public static void main(String[] args)
{
char a='a';
System.out.println((int)a);
//字符传换成字符串再输出
System.out.println(Integer.parseInt(Character.valueOf(a).toString()));
}
}
运行结果:
97
Exception in thread "main" java.lang.NumberFormatException: For input string: "a
"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at CharTest.main(CharTest.java:7)
也就是如果你直接进行转换的话是不会抛出异常?
但是如果你转换成字符串后再进行转换,就抛出
java.lang.NumberFormatException异常,至于字符串转换成数值时抛出异常,是因为字符串在转换成数值时,是很直的。
不知道对楼主有没有帮助,有点帮助就好。
class CharTest
{
public static void main(String[] args)
{
char a='a';
System.out.println((int)a);
//字符传换成字符串再输出
System.out.println(Integer.parseInt(Character.valueOf(a).toString()));
}
}
运行结果:
97
Exception in thread "main" java.lang.NumberFormatException: For input string: "a
"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at CharTest.main(CharTest.java:7)
也就是如果你直接进行转换的话是不会抛出异常?
但是如果你转换成字符串后再进行转换,就抛出
java.lang.NumberFormatException异常,至于字符串转换成数值时抛出异常,是因为字符串在转换成数值时,是很直的。
不知道对楼主有没有帮助,有点帮助就好。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为字符和数值在数据类型上会发生冲突。会抛出NumberFormalException
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
抛出 NumberFormatException
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |