1. A computer implemented method for testing a software application having a first subroutine for handling a first error that may occur during execution of the software application, the computer implemented method comprising: associating a first code with the software application, wherein the first code is configured to cause the software application to conditionally process the first error upon execution of the software application based upon application criteria comprising a set of conditions specific to the software application, framework criteria comprising a set of conditions regarding when an error is to be processed, and an environment state comprising information about a current state of the software application, and wherein the first code further comprises: instructions, responsive to receiving an error identifier, the framework criteria, and the application criteria, to determine whether the error identifier is registered; instructions, upon a determination that the error identifier is registered, to store the error identifier, the framework criteria, and a valid status; instructions to retrieve a control callback using the error identifier, wherein the control callback is a software procedure in the software application; instructions to call the control callback with the error identifier and the application criteria as parameters; and instructions to change the valid status to an active status; executing the software application, wherein the software application invokes the first code and identifies the application criteria to the first code, and wherein the first error occurs during execution of the software application; generating a first error report using the first subroutine; and storing the first error report in a memory.