Barry A. Warsaw added the comment: 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. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue15767> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com