I'll look into it. However the main problem is the traceback is not a 
property of the exception but a completely separate entity.

What I will probably do is wait for First Class (to become trunk) and 
than change [each item of] tg_exceptions to a tuple similar to what 
sys.exc_info() returns and add some automatic cleanups.

If you are in dire need, I can conjure up a proof of concept before that.

Cheers,
Simon


Max Ischenko wrote:
> Hi,
> 
> My post is mostly for Simon.
> 
> I want to intercept all application errors that normally results in 
> CherryPy's 500 Internal Error page to save error info and display it 
> differently. 
> 
> My error handler defined like this:
> 
> @dispatch_error.when("tg_exceptions is not None")
> def notify_on_error(controller, tg_source, tg_errors, tg_exceptions, *args, 
> **kw):
>     # record error and format for display
>     return 'FAIL'
> 
> The problem is that I cannot get to the traceback I usually see on 500 error 
> page.
> 
> The tg_exception is just an exception, sys.exc_info() and 
> traceback.extract_stack() both give different tracebacks, unrelated to the 
> source of error.
> 
> Adding print stmts to try_call at errorhandler.py shows that orginal 
> traceback is there but then (I guess) discarded.
> 
> If I'm missing something, please explain how I can access original traceback. 
> If it cannot be accessed please fix error handling so I can access it. ;) May 
> be add another argument like tg_traceback to dispatch_error?
> 
> Max.
> 

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears Trunk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/turbogears-trunk
-~----------~----~----~----~------~----~------~--~---

Reply via email to