这可能不适合SO,因为它不是真正的编码问题,但我找不到令人满意的答案,我相信SO社区可以.因此,根据定义,android.database.SQLException和java.sql.SQLException共享大致相同的应用程序范围,即在访问/修改数据库时提供...
这可能不适合SO,因为它不是真正的编码问题,但我找不到令人满意的答案,我相信SO社区可以.
因此,根据定义,android.database.SQLException和java.sql.SQLException共享大致相同的应用程序范围,即在访问/修改数据库时提供有关错误的信息.虽然我已经读过某个检查异常是“out”的地方,但我真的很喜欢编译器提醒你在使用throws关键字检查异常时处理异常的事实.不幸的是,这不适用于未经检查的异常.
我的问题是:
为什么Google在检查java.sql.SQLException时取消选中android.database.SQLException?我错过了什么吗?他们的差异是否超出我的想象?
解决方法:
选中或取消选中例外之间的选择总是有点主观:
>如果异常表示存在错误,或某些“可能无法恢复”的错误,则应选择未经检查的异常.
>如果异常表示“可能可恢复”的故障,则检查异常是合适的.
在这种情况下,如果存在许多子类的一般异常,则更加困难.其中一些子类可能是错误,或者它们可以恢复.在这一点上,设计者必须对异常的所有已知/预测的子类型的不同情况的相对可能性做出价值判断.
在这种情况下,Sun和Google工程师得出了不同的结论.但请注意,Google工程师具有Sun工程师所没有的巨大优势.他们可以查看Java设计,并根据已检查的SQLException自行判断它的工作情况.
Though I’ve read somewhere that checked exceptions are “out” …
有很多开发人员希望不检查所有Java异常,这样他们就不必被迫处理它们.还有很多其他的开发人员仍然认为Java使用经过检查的异常就做对了……即使有少数情况下做出了错误的选择(事后看来).
这是值得商榷的.
Am I missing something? Do they differ more than I think?
并不是的.这两个异常层次结构的用途几乎相同……尽管javadoc类描述存在差异.
本文标题为:java – 为什么android.database.SQLException未经检查?
基础教程推荐
- java – 带有Liberty Profile的JSR 352 – 如何在ItemReader执行数据库查询时实现检查点 2023-11-07
- Java redis使用场景介绍 2023-04-23
- Spring的@Autowired加到接口上但获取的是实现类的问题 2023-06-06
- java获取本月日历表的方法 2023-01-02
- 详解SpringBoot中@NotNull,@NotBlank注解使用 2022-09-03
- cookie+mybatis+servlet实现免登录时长两天半的整体流程 2023-06-06
- mybatis中使用InsertProvider注解报错解决全过程 2023-02-19
- java项目部署常用linux命令 2023-09-01
- MongoDB MapReduce比纯Java处理慢得多? 2023-11-05
- IDEA 中使用 Hudi的示例代码 2023-01-02