On Mon, Oct 20, 2008 at 3:30 PM, Wesley Brooks <[EMAIL PROTECTED]> wrote:
> Unfortunately due to the nature of the program the error has normally > happened hours ago and the error message has disappeared from the buffer of > the command prompt. > That's why you should write an error log ;) > > This is the function: > > def CommandFileWriter(self, command): > name1 = os.path.join(self.commandsdir, command + '.temp') > name2 = os.path.join(self.commandsdir, command) > comfile = open(name1, 'w') > comfile.close() > if not os.path.exists(name2): > os.rename(name1, name2) > else: > os.remove(name1) > > This was the best way I could come up with doing the function. So the file > is written to the correct directory with a wrong name (so the other program > will ignore it) then it's name is changed to the correct name with > os.rename. Unfortunately I think in freak occations the other program can > read and delete the file (running on a multicore processor system) during > the rename operation. Can you suggest which errors I should be trying to > catch? > I'm not sure what errors to catch, but it's always possible to use a general catchall (I'm not sure if this is particularly pythonic) try: put your function here except: print 'oops! an error occurred!' Or do something besides print an error (such as write a message to a logfile. If you include the time stamp and some other info that might be helpful that may give you some more insight as to where the problem is, and if it's something you can fix.) HTH, -Wayne
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor