inkstitch/lib/exceptions.py

38 wiersze
1.3 KiB
Python

# Authors: see git history
#
# Copyright (c) 2010 Authors
# Licensed under the GNU GPL version 3.0 or later. See the file LICENSE for details.
import traceback
class InkstitchException(Exception):
pass
def format_uncaught_exception():
"""Format the current exception as a request for a bug report.
Call this inside an except block so that there is an exception that we can
call traceback.format_exc() on.
"""
# importing locally to avoid any possibility of circular import
from lib.utils import version
from .i18n import _
message = ""
message += _("Ink/Stitch experienced an unexpected error. This means it is a bug in Ink/Stitch.")
message += "\n\n"
# L10N this message is followed by a URL: https://github.com/inkstitch/inkstitch/issues/new
message += _("If you'd like to help please\n"
"- copy the entire error message below\n"
"- save your SVG file and\n"
"- create a new issue at")
message += " https://github.com/inkstitch/inkstitch/issues/new\n\n"
message += _("Include the error description and also (if possible) the svg file.")
message += '\n\n\n'
message += version.get_inkstitch_version() + '\n'
message += traceback.format_exc()
return message