Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

using pdb and catching exception

2 views
Skip to first unread message

Amit Gupta

unread,
Dec 1, 2007, 6:02:48 PM12/1/07
to
Py'ites

I am using pdb to check my code, and I would like to put a statement
like equivalent of "C++gdb>catch throw".

Basically, I would like debugger to start as soon as an exception is
thrown. How may I do it?


Thanks

Frank Millman

unread,
Dec 2, 2007, 2:14:28 AM12/2/07
to

See this post from less than a week ago.

http://tinyurl.com/2zyr7u

I think that the message from Diez B. Roggisch has what you are
looking for.

Frank Millman

Amit Gupta

unread,
Dec 3, 2007, 2:10:22 PM12/3/07
to
On Dec 1, 11:14 pm, Frank Millman <fr...@chagford.com> wrote:
> See this post from less than a week ago.
>
> http://tinyurl.com/2zyr7u
>
> I think that the message from Diez B. Roggisch has what you are
> looking for.
>
> Frank Millman

Thanks Frank. But again, this results into stack-track when the
exception is caught. On the other hand, I would like the debug-trace
just before throwing the exception. As a case, I might be debugging
code, where the programmar forgot to handle an exception and it is
being caught way up in the flow (with generic catch block)

Amit Gupta

unread,
Dec 3, 2007, 6:36:52 PM12/3/07
to
On Dec 3, 11:10 am, Amit Gupta <emaila...@gmail.com> wrote:
>
>
> Thanks Frank. But again, this results into stack-track when the
> exception is caught. On the other hand, I would like the debug-trace
> just before throwing the exception. As a case, I might be debugging
> code, where the programmar forgot to handle an exception and it is
> being caught way up in the flow (with generic catch block)

One thing that I can guess is to put a breakpoint on function "raise".
I assume all of the exceptions are thrown by "raise" and raise is not
a keyword, instead a function.

Will it work?

Diez B. Roggisch

unread,
Dec 4, 2007, 5:10:09 PM12/4/07
to
Amit Gupta schrieb:

raise is a statement, not a function. So it won't work.

I do know that e.g. nose allows for dropping into pdb when a test fails.
Maybe that works by catching the exception top-level, examining the
stack-trace, setting a break-point, and restarting it.

Diez

R. Bernstein

unread,
Dec 6, 2007, 6:07:00 PM12/6/07
to
Just checked to see how Ruby deals with this. Both languages allow one
to register a trace functon to catch "events" like call, line, return,
exception, etc. Ruby however register an event before the raise takes
place.

It might be cool for some good person to go through the process of
making a formal suggestion this get added, etc. (unless a change like
this is already in the works).

0 new messages