Only a message at the highest exception

Cecil Westerhof Cecil at decebal.nl
Fri Jun 28 05:17:09 EDT 2019


I have a tkinter program where I have a function generate_report which
in a try block calls the function append_row. This function has also a
try block. When they get an exception they give message. But when
append_row has already given a message then generate_report should
not. To implement this I use the following class:
 class AlreadyHandledException(Exception):
 pass
Then in append_row I have:
 except Exception as err:
 messagebox.showerror(error_str,
 error_append + '\n\n\n\n' + str(err))
 raise AlreadyHandledException()
And in generate_report I have:
 except Exception as err:
 if type(err).__name__ != "AlreadyHandledException":
 messagebox.showerror(error_str,
 error_generate + '\n\n\n\n' + str(err))
 progress.pack_forget()
Is this an acceptable way, or should I do it differently?
-- 
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /