What does the Throw statement do? 1) Throws an exception that can be handled with structured exception-handling code 2) Throws an exception that can be handled with unstructured exception-handling code 3) Traps errors within the code 4) Moves up the call stack until it finds the appropriate exception-handling code