68 lines
1.6 KiB
Python
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
|