Android服务尚未绑定时应该抛出哪个异常?

时间:2014-06-09 17:14:33

标签: java android exception exception-handling

我为以下问题的琐碎性质道歉,但在Google搜索几分钟后我找不到答案。

我有一个Java对象,它充当开发人员SDK的前端。该对象称为DataCollectionManager。与大多数(如果不是全部)Android Manager对象(CameraManager,LocationManager等)一样,DataCollectionManager管理与设备上运行的服务的连接。

当使用SDK的客户端创建DataCollectionManager对象时,构造函数将绑定到设备上运行的DataCollectionService。客户端为构造函数提供侦听器接口,该接口将在建立服务连接时回调。一旦收到此监听器的通知,客户端就知道可以在DataCollectionManager上进行API调用。

但是,客户端可能会在建立服务连接之前尝试进行API调用。在这种情况下,我在每个方法的顶部都有一个代码块:

if (!mServiceBound) {
   // do something
}

如果服务没有绑定,我想抛出异常,但我不确定是哪一个。

我应该抛出哪个例外?我想抛出一个已检查的异常,因此客户端代码不会崩溃。是否存在一个适用于这种情况的预先存在的异常,或者我应该只定义自己的异常?

1 个答案:

答案 0 :(得分:0)

我知道你没有找到这样的例外,所以我建议你创建自己的例外。

如果你很懒,你可以抛出一个" Exception"并在其中加入一些文字(例如throw new Exception("Service not bound!");)。显然我不推荐这个,但是如果你不想花太多时间在某些东西上,那么它应该适用于割草。

要了解如何创建自己的例外情况,建议您查看How to create custom exceptions in Java?