En Tue, 24 Apr 2007 08:44:05 -0300, Tina I <[EMAIL PROTECTED]>  
escribió:

> Hi group :)
>
> I have this standard line:
>
>       export = open(self.exportFileName , 'w')
>
> 'exportFileName' is a full path given by the user. If the user gives an  
> illegal path or filename the following exception is raised:
> "IOError: [Errno 2] No such file or directory: /some/path/file.txt"
>
> So at the moment I do this:
>
>       try:
>               export = open(self.exportFileName , 'w')
>               export.write("Something")
>               export.close()
>       except IOError:
>               # calling an error handling method.
>
> Now, this works but of course it catches every IOError, and I can not  
> figure out how to restrict it to only catch the "[Errno 2]"?

You can get the 2 as the errno exception attribute. BTW, 2 == errno.ENOENT

        try:
                export = open(self.exportFileName , 'w')
        except IOError, e:
                if e.errno==errno.ENOENT:
                        # handle the "No such file or directory" error
                # calling an error handling method.

See http://docs.python.org/lib/module-exceptions.html

-- 
Gabriel Genellina
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to