HTSQL Exceptions
HTSQL exceptions currently used in the trunk (to be revised)
| Exception | HTTP error | Usage |
| NotImplemented(detail, mark) | 501 | HTSQL implementation is incomplete |
| SyntaxError(detail, mark) | 400 | scanner or parser error |
| InvalidReference(detail, mark) | 400 | namespace does not support the operation (lookup, enumerate, etc) |
| InvalidArgument(detail, mark) | 400 | invalid function arguments or context, type mismatch |
| CommandError(detail, mark) | 400 | command or formatter problem |
| UnknownClass(kind, id, mark) | 403 | lookup failure in NamedClassContainer.lookup |
| MultipleClasses(kind, id, choices, mark) | 403 | multiple matching names in NamedClassContainer.lookup |
| UnknownObject(kind, parent, id, mark) | 403 | lookup failure in NamedObjectContainer.lookup |
| MultipleObjects(kind, parent, choices, id, mark) | 403 | multiple matching names in NamedObjectContainer.lookup |
| configurers.CatalogError(c, c_mark, p, p_mark) | -- | YAML loader error (in CatalogLoader.construct_field) |
Possible problems that could raise an exception
parsers.py: decoding UTF-8 characters, scanner error, parser error, duplicate keyword argument.
identifiers.py: lookup failure for a class or an object: either no matching name or multiple matching names
binders.py: unexpected wildcard, not a user, not a subrole, invalid multi-segment join, expect singular link, mismatched locator
namespaces.py: namespace does not support: binding identifier, enumerating attributes, encoding, entitling, aspect permission error
functions.py: unexpected keyword or positional argument, multiple values for a keyword argument, missing arguments, type mismatch, invalid context
generators.py: no segments, expect singular element
commands.py: unexpected argument, missing argument
formatters.py: unexpected argument, missing argument, incompatible command
configurers.py: YAML loader error
HTTP error codes
Taken from http://tools.ietf.org/html/rfc2616#section-10
| Status code | Status line |
| 1xx | Informational |
| 100 | Continue |
| 101 | Switching Protocols |
| 2xx | Successful |
| 200 | OK |
| 201 | Created |
| 202 | Accepted |
| 203 | Non-Authoritative Information |
| 204 | No Content |
| 205 | Reset Content |
| 206 | Partial Content |
| 3xx | Redirection |
| 300 | Multiple Choices |
| 301 | Moved Permanently |
| 302 | Found |
| 303 | See Other |
| 304 | Not Modified |
| 305 | Use Proxy |
| 307 | Temporary Redirect |
| 4xx | Client Error |
| 400 | Bad Request |
| 401 | Unauthorized |
| 402 | Payment Required |
| 403 | Forbidden |
| 404 | Not Found |
| 405 | Method Not Allowed |
| 406 | Not Acceptable |
| 407 | Proxy Authentication Required |
| 408 | Request Time-out |
| 409 | Conflict |
| 410 | Gone |
| 411 | Length Required |
| 412 | Precondition Failed |
| 413 | Request Entity Too Large |
| 414 | Request-URI Too Large |
| 415 | Unsupported Media Type |
| 416 | Requested range not satisfiable |
| 417 | Expectation Failed |
| 5xx | Server Error |
| 500 | Internal Server Error |
| 501 | Not Implemented |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
| 504 | Gateway Time-out |
| 505 | HTTP Version not supported |
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)