java - 为什么不将异常(exception)添加到签名中?

标签 java android

我一直在浏览主要的 Android SDK(Facebook、Google+,甚至 Android)。我注意到异常似乎从未包含在方法签名中。相反,我看到的是抛出异常,但通常只在文档中列出(如果你幸运的话)。

这种做法是怎么回事?是否有一些声明声明方法签名中的异常是邪恶的?

例子: 来自 android.database.AbstractCursor

void checkPosition()

This function throws CursorIndexOutOfBoundsException if the cursor position is out of bounds.

为什么这样而不是

void checkPosition() throws CursorIndexOutOfBoundsException

我更喜欢后者,因为您可以设置您的 IDE/编译器来实际警告您,而不是仅仅向字节码祈祷文档提到了实际抛出的内容。

最佳答案

这是因为 CursorIndexOutOfBoundsException 是一个 RuntimeException。它不是已检查的异常。

http://developer.android.com/reference/android/database/CursorIndexOutOfBoundsException.html

关于java - 为什么不将异常(exception)添加到签名中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23272069/

相关文章:

java - 使用 JDK 1.8,无法扩展 WToolkit 类

java - 确定 okhttp 异步请求的优先级

java - 如何在从 Activity 类填充 ListView 的非 Activity 类中正确设置OnItemClickListener

android - GoogleSignInResult 使用 Firebase 在 Android 应用程序中返回 DEVELOPER_ERROR

java - 自定义 JScrollBar 箭头

java - Prometheus 计算每天对特定 Spring Controller 端点的请求

java - 高质量语言;整数列表作为输入查询

java标准序列化顺序

android - 为edittext中的某些单词制作波浪形红色下划线

android - 应用未在 "Share"菜单中注册为 ACTION_SEND Intent 处理程序