[EMAIL PROTECTED] wrote: > ...if another method in the same class calls this method but wants to > pass the error to a gui code which calls it,,can i do like this > > def callingmethode(self): > try: > mymethod() > except MyError,myerr: > raise myerr > > so that I can handle the error in a gui code that calls > callingmethode() > > class MyGUI: > def guimethode(self): > someinst=SomeClass() > try: > someinst.callingmethode() > except MyError,myer: > self.dealwithMyError(myer) > > is this kind of raising exception the correct way?I am getting syntax > error at > except MyError,myerr: > raise myerr >
Almost. The callingmethode code above behaves like: def callingmethode(self): mymethod() except that your code hides the traceback information. If you need to do something locally (other than passing along the exception), use either: def callingmethode(self): try: mymethod() finally: cleanup_stuff() or (if you have some exception-specific code to do): def callingmethode(self): try: mymethod() except MyError,myerr: stuff_only_for_exceptional_cases() raise # Note that this keeps the original traceback. --Scott David Daniels [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list