Balking
Define appropriate exception types to be thrown to indicate the failure
Check preconditions and conditionally return failure before taking any irreversible action in the method
Make public accessor methods so that clients can avoid or minimize failures