We propose to configure at compile time the checking associated with Application Programming Interfaces' methods that can receive possibly malformed values (e.g. erroneous user inputs and problematic retrieved records from databases) and thus cause application execution failures. To achieve this, we design a type system that guarantees that methods receiving potentially erroneous input catch the corresponding exceptions. Our system also identifies redundant exception handling when methods receive input that its correctness can be verified at compile time. We believe that our technique can improve Java developers' productivity, by using exception handling only when it is required, and ensure client applications' stability. For the evaluation of our system, we have checked open source Java projects using our approach.