The objective of programming by contract
nDelineate, clearly and explicitly, responsibilities between client and server. nDelineate, clearly and explicitly, responsibilities between the user of a method and the implementor of the method. nEnsure that any possible run time error will be detected with minimal explicit error checking. nUnfortunately, Java requires all checking to be coded explicitly as part of the method implementation.
n