"人言落日是天涯,望极天涯不见家" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]
Please see the follow code,  I can not catch the exception " IOError"
raised from shutil.copyfile() , why?
               try:
                   if (DEST_TYPE & TYPE_FTP):
                       fn = oname
                       ftpc.UploadFile(f, fn)
                   else:
                       fn = os.path.join(dst, oname)
                       shutil.copyfile(f, fn)

                   .... other code....

               except [IOError, FtpcException],why:
                   num = 0
                   print >>sys.stderr, "can not copy '%s' to '%s':
%s"%(f, fn, why)
                   ERR_NUM += 1

I must do like this:
               try:
                   if (DEST_TYPE & TYPE_FTP):
                       fn = oname
                       ftpc.UploadFile(f, fn)
                   else:
                       fn = os.path.join(dst, oname)
                       try:
                            shutil.copyfile(f, fn)
                       except IOError:
                                  ....

                   .... other code....

               except [IOError, FtpcException],why:
                   num = 0
                   print >>sys.stderr, "can not copy '%s' to '%s':
%s"%(f, fn, why)
                   ERR_NUM += 1

Thanks!


你好,

Use a tuple (IOError,FtpcException) instead of a list in the except statement and it works.

--马克

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

Reply via email to