Paul Rubin wrote: > def create_db_name(self): > try: > while True: > dlg = wx.TextEntryDialog(self.frame, 'Enter a database name:', > 'Create New Database') > if dlg.ShowModal() != wx.ID_OK: > return None > db_name = dlg.GetValue() > if db_name: > return db_name > pop_up_error_dialog("please enter a value or press cancel") > finally: > dlg.Destroy()
Interesting idea to use try/finally to ensure that dlg.Destroy() runs even with a return earlier in the method. Would this be considered appropriate use though, or would it be misusing try/finally? I thought the point of a try block was for when you anticipated exceptions, but given that try/except and try/finally used to be separate blocks, perhaps this was the original intent of a try/finally block? (i.e. nothing to do with exceptions?) -- http://mail.python.org/mailman/listinfo/python-list