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
-~----------~----~----~----~------~----~------~--~---