Validate input data
Handle exceptions
Exception-throwing code<
the compiler does NOT pay attention to exceptions that are of type RuntimeException. A RuntimeException does not have to be declared or wrapped in a try/catch.
When you write code that could throw an exception, you must declare the exception.
An exception is an object of type Exception.
Risky, exception-throwing code
// this method must tell the world that it throws a BadException public void takeRisk() throws BadException { if (abandonAllHope) { // Create a new Exception object and throw it throw new BadException(); } }
Your code that calls the risky method
public void crossFingers() { try { anObject.takeRisk(); } catch (BadException e) { System.out.println("Sorry Invalid input"); // All exceptions inherit a printStackTrace() method e.printStackTrace(); } }