summaryrefslogtreecommitdiff
path: root/src/zope/interface/exceptions.py
diff options
context:
space:
mode:
authorNathan Yergler <nathan@yergler.net>2006-02-27 17:35:32 +0000
committerNathan Yergler <nathan@yergler.net>2006-02-27 17:35:32 +0000
commit25d0e7963ffb5052a5a24e7173b8cba1ee3df64e (patch)
tree9696cd604c80b9c8b889fa2bf6db6c07ce2e8eed /src/zope/interface/exceptions.py
parent16f036c6217eefff009c2135f36ea291910b1416 (diff)
downloadzope-interface-25d0e7963ffb5052a5a24e7173b8cba1ee3df64e.tar.gz
Correcting borked move.
Diffstat (limited to 'src/zope/interface/exceptions.py')
-rw-r--r--src/zope/interface/exceptions.py69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/zope/interface/exceptions.py b/src/zope/interface/exceptions.py
new file mode 100644
index 0000000..da0cf79
--- /dev/null
+++ b/src/zope/interface/exceptions.py
@@ -0,0 +1,69 @@
+##############################################################################
+#
+# Copyright (c) 2002 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Interface-specific exceptions
+
+$Id$
+"""
+
+class Invalid(Exception):
+ """An specification is violated
+ """
+
+class DoesNotImplement(Invalid):
+ """ This object does not implement """
+ def __init__(self, interface):
+ self.interface = interface
+
+ def __str__(self):
+ return """An object does not implement interface %(interface)s
+
+ """ % self.__dict__
+
+class BrokenImplementation(Invalid):
+ """An attribute is not completely implemented.
+ """
+
+ def __init__(self, interface, name):
+ self.interface=interface
+ self.name=name
+
+ def __str__(self):
+ return """An object has failed to implement interface %(interface)s
+
+ The %(name)s attribute was not provided.
+ """ % self.__dict__
+
+class BrokenMethodImplementation(Invalid):
+ """An method is not completely implemented.
+ """
+
+ def __init__(self, method, mess):
+ self.method=method
+ self.mess=mess
+
+ def __str__(self):
+ return """The implementation of %(method)s violates its contract
+ because %(mess)s.
+ """ % self.__dict__
+
+class InvalidInterface(Exception):
+ """The interface has invalid contents
+ """
+
+class BadImplements(TypeError):
+ """An implementation assertion is invalid
+
+ because it doesn't contain an interface or a sequence of valid
+ implementation assertions.
+ """