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