On Thu, Nov 12, 2009 at 7:10 AM, Peng Yu <pengyu...@gmail.com> wrote:
> On Thu, Nov 12, 2009 at 12:00 AM, alex23 <wuwe...@gmail.com> wrote:
>> On Nov 12, 2:46 pm, Peng Yu <pengyu...@gmail.com> wrote:
>>> I see Error is derived from EnvironmentError in shutil.py.
>>>
>>> class Error(EnvironmentError):
>>>     pass
>>>
>>> I'm wondering why EnvironmentError can not be raised directly. Why
>>> Error is raised instead?
>>
>> This way you can explicitly trap on shutil.Error and not intercept any
>> other EnvironmentError that might be raised.
>>
>> And as it's a descendent of EnvironmentError, it can still be caught
>> by any handlers looking for such exceptions.
>
> It is true that an exception class is usually defined in a module and
> all the exceptions raised in this module should be of this derived
> class? Is it the general practice in python?

It is common, but not universal. Several of the modules in the stdlib
use the technique.

Cheers,
Chris
--
http://blog.rebertia.com
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to