Throw bespoke exceptions so they may be more easily identified by Error Handlers
--------------------------------------------------------------------------------

                 Key: TAP5-1733
                 URL: https://issues.apache.org/jira/browse/TAP5-1733
             Project: Tapestry 5
          Issue Type: Improvement
          Components: tapestry-core
    Affects Versions: 5.3
            Reporter: Steve Eynon
            Priority: Minor


Two exceptions in particular tend to be thrown prolifically by live sites when 
they are crawled by robots. They are:

 - java.lang.RuntimeException: Forms require that the request method be POST 
and that the t:formdata query parameter have values.

 - java.lang.IllegalArgumentException: Input string 'XXX' is not valid; the 
character 'X' at position X is not valid.

To save needless reporting of benign errors (and to prevent the error logs from 
filling up) these exceptions are usually ignored by implementing Error 
Handlers. But the ErrorHandler has to currently check the exception message:

if (e.getMessage().contains("Forms require that the request method be POST")) {
    doIgnore();
}

which is both brittle and nasty. Instead it'd be great if Tapestry could throw 
some bespoke exceptions so the above could be re-written as:

if (e instanceof FormsRequirePostException) {
    doIngore();
}

Email thread below:

http://tapestry.1045711.n5.nabble.com/Safari-for-example-browser-history-and-form-exception-td4942074.html


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to