Okay after I opened my big mouth I had to deliver. :) NOTE: THIS IS NOT ALPHA ALPHA CODE.. BEWARE Here's an example of what this is: <!--#try--> This is the try block <!--#raise type="bar"--> You suck <!--#/raise--> <!--#except--> There was an exception! Yay! <p>It was <!--#var errname--> <p>It has this to say: <!--#var errmsg--> <!--#/try--> I incorporated a suggestion that except should handle <!--#except NameError--> to specify the error to trap. Also, <!--#except--> will handle any errors by default. This is packaged as a product, is this the best way to distribute this?? Grab it from: ftp://ftp.spyderlab.com:/pub/zope/Try-0.1.0.tar.gz Since I've only been programming Python on and off, hopefully I didn't make any major assumptions about doing things a certain way. Please let me know if I have. ------- Jordan B. Baker -- jbb@spyderlab.com weaving the web @ http://www.spyderlab.com