Report correct line for ApplicationError
This commit is contained in:
parent
6296566c2c
commit
92ecb632b5
18
app/log.py
18
app/log.py
@ -80,9 +80,22 @@ log = logging.getLogger(Config.LOG_NAME)
|
|||||||
|
|
||||||
|
|
||||||
def handle_exception(exc_type, exc_value, exc_traceback):
|
def handle_exception(exc_type, exc_value, exc_traceback):
|
||||||
error = str(exc_value)
|
"""
|
||||||
|
Inform user of exception
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Navigate to the inner stack frame
|
||||||
|
tb = exc_traceback
|
||||||
|
while tb.tb_next:
|
||||||
|
tb = tb.tb_next
|
||||||
|
|
||||||
|
fname = os.path.basename(tb.tb_frame.f_code.co_filename)
|
||||||
|
lineno = tb.tb_lineno
|
||||||
|
msg = f"ApplicationError: {exc_value}\nat {fname}:{lineno}"
|
||||||
|
logmsg = f"ApplicationError: {exc_value} at {fname}:{lineno}"
|
||||||
|
|
||||||
if issubclass(exc_type, ApplicationError):
|
if issubclass(exc_type, ApplicationError):
|
||||||
log.error(error)
|
log.error(logmsg)
|
||||||
else:
|
else:
|
||||||
# Handle unexpected errors (log and display)
|
# Handle unexpected errors (log and display)
|
||||||
error_msg = "".join(traceback.format_exception(exc_type, exc_value, exc_traceback))
|
error_msg = "".join(traceback.format_exception(exc_type, exc_value, exc_traceback))
|
||||||
@ -105,7 +118,6 @@ def handle_exception(exc_type, exc_value, exc_traceback):
|
|||||||
)
|
)
|
||||||
if QApplication.instance() is not None:
|
if QApplication.instance() is not None:
|
||||||
fname = os.path.split(exc_traceback.tb_frame.f_code.co_filename)[1]
|
fname = os.path.split(exc_traceback.tb_frame.f_code.co_filename)[1]
|
||||||
msg = f"ApplicationError: {error}\nat {fname}:{exc_traceback.tb_lineno}"
|
|
||||||
QMessageBox.critical(None, "Application Error", msg)
|
QMessageBox.critical(None, "Application Error", msg)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user