aspose file tools*
The moose likes Developer Certification (SCJD/OCMJD) and the fly likes Can I leave out exceptions in interface implementation? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Certification » Developer Certification (SCJD/OCMJD)
Bookmark "Can I leave out exceptions in interface implementation?" Watch "Can I leave out exceptions in interface implementation?" New topic
Author

Can I leave out exceptions in interface implementation?

Frans Janssen
Ranch Hand

Joined: Dec 29, 2004
Posts: 357
Hi all,

This question has probably been asked before, but I did not manage to find it in the archives:

My assignment (B&S 2.3.2) states that I must implement a given interface. Some of the methods in the interface are defined to throw specific exceptions which I feel would not necessarily have to occur in my implementation.

For example, my isLocked() method is defined in the interface as follows:



Since I only allow records that are found in the database to be locked, the exception is never thrown for locked records and according to the "contract" I am allowed to return false for all other cases (unlocked records and non-existent records(?)). So would I be cutting corners if I remove the RecordNotFoundException from the implementing class' method?

Thanks for your thoughts,

Frans.
[ December 29, 2004: Message edited by: Frans Janssen ]

SCJP 1.4, SCJD
Steven Bell
Ranch Hand

Joined: Dec 29, 2004
Posts: 1071
Read my answer to this post
Frans Janssen
Ranch Hand

Joined: Dec 29, 2004
Posts: 357
Originally posted by Steven Bell:
Read my answer to this post


Steven,

Thanks for your reply. It is indeed a good suggestion to at least declare that the method throws the exception even if it doesn't. (Currently my code wasn't doing that )

However, I still like some opinions on if the assessors will accept that defined exceptions are never thrown in the implementing class.

Frans.
peter wooster
Ranch Hand

Joined: Jun 13, 2004
Posts: 1033
Originally posted by Frans Janssen:

Steven,

Thanks for your reply. It is indeed a good suggestion to at least declare that the method throws the exception even if it doesn't. (Currently my code wasn't doing that )

However, I still like some opinions on if the assessors will accept that defined exceptions are never thrown in the implementing class.

Frans.


If your assignment is anything like the URLyBird assignment you will not have a reasonable primary key. In that case you will have no occasion where a DuplicateKeyException could possibly be thrown. You still need to declare it as a possible exception since the interface does, and you can't change the interface, but you just can't throw it. The only thing that will be concerned about this is checkstyle, and you can turn off that check.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Can I leave out exceptions in interface implementation?
 
Similar Threads
Do the unlock(int recNo) and isLocked(int recNo) methods have to throw RecordNotFoundException?
update/delete/unlock/isLocked and RecNotFoundEx
the purpose for the isLock(int):boolean method
B&S 2.3.1 - Identifying clients uniquely in RMI
Wait in lock method