0

我注意到在 Android 中似乎有点奇怪:如果未安装预期的应用程序/处理程序,则调用启动活动意图可能会引发 ActivityNotFound 异常,但在编码时没有警告。在编写文件读/写、网络等代码时,通常会给出警告,您必须将此函数标记为“抛出异常”,或者为某些异常添加try/catch。为什么活动意图不同?

此外,如果我将一个函数标记为“抛出 ActivityNotFoundException”,我仍然可以创建一个不会捕获此错误的调​​用者,它可以正常编译并且不会发出警告。为什么?

4

2 回答 2

2

没有给出警告的原因是因为不需要检查ActivityNotFoundExceptionextends 。RuntimeException正如@Rocky Triton 所说,谷歌使用它的原因是,因为对于开发人员来说,必须检查每一个可能引发异常的语句是一个巨大的痛苦。尽管Java 不鼓励这样做,但它仍然为开发人员省去了很大的麻烦。(我什至讨厌不得不捕获 I/O 异常......)

于 2012-08-06T19:02:22.430 回答
2

因为强制未经检查的异常是可怕的,我很高兴谷歌没有让你。

于 2012-08-06T18:45:44.023 回答