Lightningbeam/PyGUI-2.5.3/build/lib/GUI/Exceptions.py

68 lines
1.6 KiB
Python

#
# Exceptions.py - GUI exception classes
#
class Cancel(Exception):
"""Exception raised when user cancels an operation."""
pass
#class Quit(Exception):
# """Exception raised to exit the main event loop."""
# pass
class Error(StandardError):
def __init__(self, obj, mess):
self.obj = obj
self.mess = mess
Exception.__init__(self, "%s: %s" % (obj, mess))
class ApplicationError(StandardError):
"""Exception used for reporting errors to the user."""
def __init__(self, message, detail = None):
self.message = message
self.detail = detail
if detail:
message = "%s\n\n%s" % (message, detail)
StandardError.__init__(self, message)
class InternalError(Exception):
pass
class UnimplementedMethod(NotImplementedError):
def __init__(self, obj, meth_name):
self.obj = obj
StandardError.__init__(self, "%s.%s not implemented" % \
(obj.__class__.__name__, meth_name))
class ArgumentError(TypeError):
def __init__(self, obj, meth_name, arg_name, value):
self.obj = obj
self.meth_name = meth_name
self.arg_name = arg_name
self.value = value
TypeError.__init__(self,
"%s: Invalid value %s for argument %s of method %s",
(obj, value, arg_name, meth_name))
class SetAttributeError(AttributeError):
def __init__(self, obj, attr):
self.obj = obj
self.attr = attr
AttributeError.__init__(self, "Attribute '%s' of %s cannot be set" % (attr, obj))
class UsageError(StandardError):
pass