def METHOD_NAME(reset_controller):
    """ Handle exceptions that get caught by the controller """
    def process_exception_asserting_valid_error(exception_type, exception_msg=None):
        """
        Exceptions caught by the controller are forwarded to the
        UnhandledExceptionView with view_args["error"] being a list
        of three strings, ie: [exception_type, line_info, exception_msg]
        """
        try:
            if exception_msg:
                raise exception_type(exception_msg)
            else:
                raise exception_type()
        except Exception as e:
            error = controller.handle_exception(e).view_args["error"]
        # assert that error structure is valid
        assert len(error) == 3
        assert error[0] in str(exception_type)
        assert type(error[1]) == str
        if exception_msg:
            assert exception_msg in error[2]
        else:
            assert error[2] == ""
    # Initialize the controller
    controller = Controller.get_instance()
    exception_tests = [
        # exceptions with an exception_msg
        (Exception, "foo"),
        (KeyError, "key not found"),
        # exceptions without an exception_msg
        (Exception, ""),
        (Exception, None),
    ]
    for exception_type, exception_msg in exception_tests:
        process_exception_asserting_valid_error(exception_type, exception_msg)