首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么NumberFormatException是运行时?

为什么NumberFormatException是运行时?
EN

Stack Overflow用户
提问于 2011-08-26 21:47:38
回答 4查看 7.3K关注 0票数 28

运行时异常表示契约被破坏(如NPE),如果代码没有错误,就不应该抛出异常。它总是指示代码中的错误(与断言相同,但是断言是针对内部类错误的,而运行时是针对类的客户端错误的)。

运行时异常永远不应该被捕获。

另一方面,检查的异常是签名的一部分,应该被捕获和处理。它们可能表示用户输入错误或外部资源故障(如IOException)。

所有这些我都不明白为什么NumberFormatException是运行时?

EN

回答 4

Stack Overflow用户

发布于 2011-08-26 21:53:41

在解析配置文件时也可能抛出NumberFormatException,在这种情况下,这将是程序员的错误。在解析用户输入时,通常使用NumberFormat,它会抛出一个检查过的ParseException

票数 2
EN

Stack Overflow用户

发布于 2011-08-26 21:52:09

NumberFormatException扩展了IllegalArgumentException。这是运行时异常的原因是,完全有可能破坏接受String并返回Number的方法的约定。如果我传入123D,并且没有正确的数据验证,那么这将是一个适当的非法参数。

票数 1
EN

Stack Overflow用户

发布于 2011-08-26 21:51:23

为什么NumberFormatException是运行时错误?如果你有一个对话框,用户在其中输入值,并且值不是数字,但被解析为数字,那么你可能想知道这一点。异常是最好的方法吗?也许不是,但事实就是如此。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7205624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档