Issue 1104669: new-style exceptions - Python tracker (original) (raw)

Created on 2005-01-18 18:09 by mwh, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
new-new-new-new-new-style-exceptions.diff mwh,2005-12-05 22:17 mwh's attempt #4
Messages (15)
msg47572 - (view) Author: Michael Hudson (mwh) (Python committer) Date: 2005-01-18 18:09
This patch allows new-style exceptions and makes Exception a new-style class. The test suite runs, apart from failures in test_tempfile (will dig, but doubt this is my fault) and test__locale (known OS X problem).
msg47573 - (view) Author: Simon Percivall (simon.percivall) Date: 2005-01-18 19:47
Logged In: YES user_id=329382 One thing: Raising an old-style class/instance doesn't give a traceback or populate sys.last_*.
msg47574 - (view) Author: Michael Hudson (mwh) (Python committer) Date: 2005-01-19 13:25
Logged In: YES user_id=6656 You're right! Odd. No time to fix it today, I'm afraid.
msg47575 - (view) Author: Michael Hudson (mwh) (Python committer) Date: 2005-02-09 14:18
Logged In: YES user_id=6656 New patch attached. Did this a while ago, don't actually remember the details of what's new :-/ The problem with the previous patch was that one of my exception- checking macros had the side-effect of clearing any pending exception...
msg47576 - (view) Author: Michael Hudson (mwh) (Python committer) Date: 2005-02-15 15:40
Logged In: YES user_id=6656 I found the final wart (caught by test_tempfile of all things). I think the attached is good to go. Issues remaining: test_pickletools fails, because PickleError is now new- style and thus pickles differently. Docs.
msg47577 - (view) Author: Tim Peters (tim.peters) * (Python committer) Date: 2005-02-15 16:03
Logged In: YES user_id=31435 FYI, there's nothing special about PicklingError in the pickletools doctest, it's just aiming at an example of an instance -- that it's also an exception instance is irrelevant to what the test is aiming at. Tell you what: I'll check in a suitable change to pickletools.py, so that the example it uses stops interfering with this patch.
msg47578 - (view) Author: Tim Peters (tim.peters) * (Python committer) Date: 2005-02-15 16:17
Logged In: YES user_id=31435 FYI, there's nothing special about PicklingError in the pickletools doctest, it's just aiming at an example of an instance -- that it's also an exception instance is irrelevant to what the test is aiming at. Tell you what: I'll check in a suitable change to pickletools.py, so that the example it uses stops interfering with this patch.
msg47579 - (view) Author: Jim Jewett (jimjjewett) Date: 2005-02-15 17:34
Logged In: YES user_id=764593 Several lines near the end of errors.c had no visible change. Was this a whitespace cleanup, or is this a risk of tab/space mixing?
msg47580 - (view) Author: Michael Hudson (mwh) (Python committer) Date: 2005-02-15 17:39
Logged In: YES user_id=6656 Jim: Yes. It looks like I ran delete-trailing-whitespace on the file at some point. I could redo the diff without them, but it would be tedious... Tim: thanks!
msg47581 - (view) Author: Jim Jewett (jimjjewett) Date: 2005-02-15 17:51
Logged In: YES user_id=764593 Is it worth adding a comment on parsing precedence? An object can be both an instance and a class, which puts some ambiguity between "raise class" and "raise classinstance". Assuming the class seems sensible; I'm just wondering whether it should be made explicit. (Making something both an instance and a subclass of anything besides object might be weird enough that you don't *want* to document the results yet.)
msg47582 - (view) Author: Michael Hudson (mwh) (Python committer) Date: 2005-02-15 19:37
Logged In: YES user_id=6656 > Is it worth adding a comment on parsing precedence? I've been studiously avoiding thinking about that :) > Making something both an instance and a subclass of > anything besides object might be weird enough that you > don't *want* to document the results yet. Quite. What happens, happens IMHO. I'm prepared to be argued into a different position on this, but I do think the only reason someone would do this is curiousity :)
msg47583 - (view) Author: Michael Hudson (mwh) (Python committer) Date: 2005-12-05 22:17
Logged In: YES user_id=6656 Here's a patch updated to SVN HEAD (the PEP 342 implementation meant this wasn't quite trivial).
msg47584 - (view) Author: Alyssa Coghlan (ncoghlan) * (Python committer) Date: 2005-12-10 17:19
Logged In: YES user_id=1038590 New patch worked fine on Ubuntu 5.10 (all tests in 'make test' passed, aside from the skips due to the various extension modules I can't build)
msg47585 - (view) Author: Michael Chermside (mcherm) (Python triager) Date: 2005-12-12 17:00
Logged In: YES user_id=99874 I haven't tried out the patch, I just want to chime in to say how VERY much I would like to have this. I'm ready NOW to completely give up using old-style classes, but because of exceptions I'm not allowed to. This would fix that for me. If Python had a "vote for your favorite bugs" list, I'd be voting for this one.
msg47586 - (view) Author: Brett Cannon (brett.cannon) * (Python committer) Date: 2006-03-01 04:35
Logged In: YES user_id=357491 Rev. 42711 has the patch with the requisite tweaks for it to work for PEP 352. Thanks, Michael!
History
Date User Action Args
2022-04-11 14:56:09 admin set github: 41459
2005-01-18 18:09:36 mwh create