Guido van Rossum 0aa9ee65ab Moved the raise logic out of the main interpreter loop to a separate function.
The raise logic has one additional feature: if you raise <class>,
<value> where <value> is not an instance, it will construct an
instance using <value> as argument.  If <value> is None, <class> is
instantiated without arguments.  If <value> is a tuple, it is used as
the argument list.

This feature is intended to make it easier to upgrade code from using
string exceptions to using class exceptions; without this feature,
you'd have to change every raise statement from ``raise X'' to ``raise
X()'' and from ``raise X, y'' to ``raise X(y)''.  The latter is still
the recommended form (because it has no ambiguities about the number
of arguments), but this change makes the transition less painful.
1996-12-10 18:07:35 +00:00
..
1996-10-25 14:44:06 +00:00
1996-12-05 23:27:02 +00:00
1994-08-29 10:43:12 +00:00
1996-10-25 14:44:06 +00:00
1996-10-25 14:44:06 +00:00
1996-12-05 23:27:02 +00:00
1996-10-25 14:44:06 +00:00
1995-01-20 16:54:36 +00:00
1996-08-29 18:10:41 +00:00
1996-12-05 23:27:02 +00:00
1996-12-05 23:27:02 +00:00
1996-12-05 23:27:02 +00:00
1996-08-29 18:10:30 +00:00
1996-08-19 22:12:39 +00:00
1996-12-05 23:27:02 +00:00