java - API 是否应该抛出 NullPointerExceptions

标签 java api exception-handling

我使用商业 API 并且有一个来自 API 代码的 NullpointException

支持人员告诉我这是预期的,因为我调用的方法的输入参数之一是 null 并且需要此参数才能使用该方法。

这真的是我的错,因为我在将参数传递给 API 之前没有检查它们吗?

NullpointerExceptions 从您的 API 中退出不是不好的做法吗?如果不是,如果我想确保我的软件不会崩溃,我将不得不检查所有类型的 RuntimeExceptions 如果我使用该 API 的方法。

如果这是不好的做法,是否有相关文件或规范?

最佳答案

是的,我会说他们应该抛出 IllegalArgumentException

参见:IllegalArgumentException or NullPointerException for a null parameter?

请继续阅读,因为这是最佳答案:https://stackoverflow.com/a/47710/2586804

主要区别在于 IllegalArgumentException 明确表示在使用该库时犯了错误。

无论哪种方式,您只需要正确使用该库即可。并且只捕获可以处理的异常。

关于java - API 是否应该抛出 NullPointerExceptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18868705/

相关文章:

java - 我们可以在 hibernate 条件查询中包含条件吗?

java - 基于键排序 TreeMap ,其中键是可变的

Python:当只有方法的字符串名称时如何调用方法?

javascript - 哪个 HTTP 代码应该作为状态返回?

java - Eclipse 在一段时间后因 java 错误而挂起

java - Play Framework : tool to generate Evolutions scripts?

javascript - 按键/值合并对象数组

c++ - 我可以在 STL 中禁用异常吗?

java - 封装 Integer.parseInt() 的好方法

PHP - 生产环境的明智/优雅/优雅的错误处理