Message181919
On Feb 11, 2013, at 05:31 PM, Brett Cannon wrote:
>Right, so what's typical? =) I mean do most people see ImportError for
>optional modules (e.g. not on support platforms), or do most people see
>ImportError because they messed up and tried to import something that they
>expected but actually isn't there for some reason.
There are a few common use cases (or perhaps anti-use cases) where you see
ImportErrors. I might be missing some, but I'd put these in roughly
descending order of commonness.
* Trying alternative imports for compatibility reasons. You always expect
ImportErrors in these cases, and you'll always catch them in try/excepts.
* Missing modules, submodules, or attributes in from-imports. These can be
unexpected if you think you've got the right version of a package, or
expected for compatibility reasons.
* Trying to conditionally import optional modules. Again, expected, and
they'll be wrapped in try/except.
I guess the case you're trying to differentiate with MNF is, the from-import
case, i.e. did the error occur because the module was missing or because the
attribute was missing?
It's hard to say which is more likely, which I guess is why you're having a
hard time deciding. :) If I had to vote, I'd go with MNFError 1) because it's
a subclass of ImportError; 2) it'll be more informative in the case where it
really *is* an error; 3) isn't that big of a deal in cases where it's
expected; 4) we're used to seeing ImportError anyway, and probably most code
won't care and will just use ImportError. |
|
Date |
User |
Action |
Args |
2013-02-11 18:33:40 | barry | set | recipients:
+ barry, brett.cannon, ezio.melotti, cvrebert, asvetlov, chris.jerdonek, maker, eric.snow |
2013-02-11 18:33:40 | barry | link | issue15767 messages |
2013-02-11 18:33:40 | barry | create | |
|