Skip to main content

Zope 3 exception views

Project description

This packages provides Zope 3 browser views for some generic exceptions.

System Errors

System Errors are errors representing a system failure. At the application level, they are errors that are uncaught by the application and that a developer hasn’t provided a custom error view for.

Zope provides a default system error view that prints an obnoxius terse message and that sets the response status.

To see an example of this, we’ll create a ZPT page with an intentional error:

>>> print http(r"""
... POST /+/zope.app.zptpage.ZPTPage%3D HTTP/1.1
... Authorization: Basic mgr:mgrpw
... Content-Length: 739
... Content-Type: multipart/form-data; boundary=---------------------------125598457818223697821067764270
... Referer: http://localhost:8081/+/zope.app.zptpage.ZPTPage=
...
... -----------------------------125598457818223697821067764270
... Content-Disposition: form-data; name="field.source"
...
... <html><body tal:content="container/eek" /></html>
... -----------------------------125598457818223697821067764270
... Content-Disposition: form-data; name="field.expand.used"
...
...
... -----------------------------125598457818223697821067764270
... Content-Disposition: form-data; name="field.evaluateInlineCode.used"
...
...
... -----------------------------125598457818223697821067764270
... Content-Disposition: form-data; name="UPDATE_SUBMIT"
...
... Add
... -----------------------------125598457818223697821067764270
... Content-Disposition: form-data; name="add_input_name"
...
... test.html
... -----------------------------125598457818223697821067764270--
... """)
HTTP/1.1 303 See Other
...
Location: http://localhost/@@contents.html
...

When we visit it, we get a terse error and a 500 status:

We get a system error, because the problem is in the template, not in the URL:

>>> print http(r"""
... GET /test.html HTTP/1.1
... """)
HTTP/1.1 500 Internal Server Error
...
  A system error occurred.
...

Another way of getting a system error is the occurrence of a system error, such as ComponentLookupError. I have registered a simple view in exception-ftesting.zcml that will raise a component lookup error. So if we call componentlookuperror.html, we should get the error message:

>>> print http(r"""
... GET /componentlookuperror.html HTTP/1.1
... """)
HTTP/1.1 500 Internal Server Error
...
  A system error occurred.
...

CHANGES

3.6.0 (2009-05-18)

  • ISystemErrorView interface has been moved to zope.browser.interfaces, leaving BBB import here.

  • Cut dependency on zope.formlib by requiring newer version of zope.app.pagetemplate which now contains namedtemplate.

3.5.0 (2009-04-06)

  • Use new zope.authentication instead of zope.app.security.

  • Removed deprecated code and thus removed dependency on zope.deferredimport.

  • Removed old zpkg-related SETUP.cfg file.

3.4.2 (2009-01-27)

  • Substitute zope.app.zapi by direct calls to its wrapped apis. See bug 219302.

  • Fixed author email and home page.

3.4.1 (2007-10-31)

  • Resolve ZopeSecurityPolicy deprecation warning.

3.4.0 (2007-10-24)

  • Initial release independent of the main Zope tree.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zope.app.exception-3.6.0.tar.gz (8.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page