0

Here is an example code, I am throwing an exception here, it works perfectly fine without the try/catch block of code for some reason.

Do I have to handle this inside this method "EntryDelete" or Do I have to handle this where the method is called from? If so can I see an example, what do I have to import in there? What is the acceptable syntax or method to do this?

public boolean EntryDelete(int entryId) throws SQLException{
    this.open();
    kDatabase.delete(kENTRY_TABLE, kENTRY_ENTRY_ID + "=" + entryId, null);
    this.close();
    return true;            
}   

Edit: Whats the thought on handling the exception in both inside and outside the method?

Whats the benefits of handling inside the method, whats the benefits of handling it outside of the method?

Thanks

4

2 回答 2

1

抛出的异常由该方法的调用者处理(进一步抛出或捕获),而不是该方法本身。当然,您也可以通过在此处添加 try-catch 来处理它,但由于它当前是您的方法,因此会强制调用者处理可能抛出的异常。

针对您添加的问题:

“在方法内处理有什么好处,在方法外处理有什么好处?”

可悲的是,我能想到的最全面的正确答案是,在方法内部处理异常的好处是不必在方法外部处理它。一般来说,越早处理异常越好,因为您通常不想强迫任何调用您的方法的人为任何并非绝对必要的异常做准备。

于 2013-11-09T21:48:55.090 回答
1

由于该方法有

throws SQLException

在签名中,因此调用此方法的方法必须处理异常。

编辑:没有经验法则,但可以使用以下指南

如果客户端可以采取一些替代操作从异常中恢复,则抛出异常。如果客户端不能做任何有用的事情,处理异常。有用,我的意思是采取措施从异常中恢复,而不仅仅是记录异常。

于 2013-11-09T21:50:26.090 回答