SaneBrains patches ZCatalog's brain objects such that they don't unnecessarily catch exceptions. The brain objects are patched such that: - the getObject method never tries to catch any exceptions, it just uses a simple restrictedTraverse to turn the path stored in the ZCatalog into an object - the _unrestrictedGetObject method never tries to catch any exceptions, it just uses a simple unrestrictedTraverse to turn the path stored in the ZCatalog into an object As a bonus, this product also allows you to do the following from untrusted code (ie: Python Scripts): from zExceptions import Unauthorized For more information, please see: http://www.simplistix.co.uk/software/zope/sanebrains cheers, Chris -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk