How Can I Find a List of All Exceptions That a Given Library Function Throws in Python?

Posted by b14ck on Stack Overflow See other posts from Stack Overflow or by b14ck
Published on 2010-05-16T08:56:39Z Indexed on 2010/05/16 9:00 UTC
Read the original article Hit count: 232

Filed under:
|
|

Sorry for the long title, but it seems most descriptive for my question.

Basically, I'm having a difficult time finding exception information in the official python documentation. For example, in one program I'm currently writing, I'm using the shutil libary's move function:

from shutil import move
move('somefile.txt', '/tmp/somefile.txt')

That works fine, as long as I have write access to /tmp/, there is enough diskspace, and if all other requirements are satisfied.

However, when writing generic code, it is often difficult to guarantee those factors, so one usually uses exceptions:

from shutil import move
try:
    move('somefile.txt', '/tmp/somefile.txt')
except:
    print 'Move failed for some reason.'

I'd like to actually catch the appropriate exceptions thrown instead of just catching everything, but I simply can't find a list of exceptions thrown for most python modules. Is there a way for me to see which exceptions a given function can throw, and why? This way I can make appropriate cases for each exception, eg:

from shutil import move
try:
    move('somefile.txt', '/tmp/somefile.txt')
except PermissionDenied:
    print 'No permission.'
except DestinationDoesNotExist:
    print "/tmp/ doesn't exist"
except NoDiskSpace:
    print 'No diskspace available.'

Answer points go to whoever can either link me to some relevant documentation that I've somehow overlooked in the official docs, or provide a sure-fire way to figure out exactly which exceptions are thrown by which functions, and why.

Thanks!

© Stack Overflow or respective owner

Related posts about python

Related posts about exceptions