我为以下问题的琐碎性质道歉,但在Google搜索几分钟后我找不到答案。
我有一个Java对象,它充当开发人员SDK的前端。该对象称为DataCollectionManager
。与大多数(如果不是全部)Android Manager对象(CameraManager,LocationManager等)一样,DataCollectionManager
管理与设备上运行的服务的连接。
当使用SDK的客户端创建DataCollectionManager
对象时,构造函数将绑定到设备上运行的DataCollectionService
。客户端为构造函数提供侦听器接口,该接口将在建立服务连接时回调。一旦收到此监听器的通知,客户端就知道可以在DataCollectionManager
上进行API调用。
但是,客户端可能会在建立服务连接之前尝试进行API调用。在这种情况下,我在每个方法的顶部都有一个代码块:
if (!mServiceBound) {
// do something
}
如果服务没有绑定,我想抛出异常,但我不确定是哪一个。
我应该抛出哪个例外?我想抛出一个已检查的异常,因此客户端代码不会崩溃。是否存在一个适用于这种情况的预先存在的异常,或者我应该只定义自己的异常?
答案 0 :(得分:0)
我知道你没有找到这样的例外,所以我建议你创建自己的例外。
如果你很懒,你可以抛出一个" Exception"并在其中加入一些文字(例如throw new Exception("Service not bound!");
)。显然我不推荐这个,但是如果你不想花太多时间在某些东西上,那么它应该适用于割草。
要了解如何创建自己的例外情况,建议您查看How to create custom exceptions in Java?。