interfaces.py
105 lines
| 4.2 KiB
| text/x-python
|
PythonLexer
Gregory Szorc
|
r37193 | ############################################################################## | ||
# | ||||
# Copyright (c) 2003 Zope Foundation 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. | ||||
# | ||||
############################################################################## | ||||
"""Interfaces for standard python exceptions | ||||
""" | ||||
Gregory Szorc
|
r37195 | |||
from __future__ import absolute_import | ||||
from .. import Interface | ||||
from .. import classImplements | ||||
Gregory Szorc
|
r37193 | |||
class IException(Interface): pass | ||||
class IStandardError(IException): pass | ||||
class IWarning(IException): pass | ||||
class ISyntaxError(IStandardError): pass | ||||
class ILookupError(IStandardError): pass | ||||
class IValueError(IStandardError): pass | ||||
class IRuntimeError(IStandardError): pass | ||||
class IArithmeticError(IStandardError): pass | ||||
class IAssertionError(IStandardError): pass | ||||
class IAttributeError(IStandardError): pass | ||||
class IDeprecationWarning(IWarning): pass | ||||
class IEOFError(IStandardError): pass | ||||
class IEnvironmentError(IStandardError): pass | ||||
class IFloatingPointError(IArithmeticError): pass | ||||
class IIOError(IEnvironmentError): pass | ||||
class IImportError(IStandardError): pass | ||||
class IIndentationError(ISyntaxError): pass | ||||
class IIndexError(ILookupError): pass | ||||
class IKeyError(ILookupError): pass | ||||
class IKeyboardInterrupt(IStandardError): pass | ||||
class IMemoryError(IStandardError): pass | ||||
class INameError(IStandardError): pass | ||||
class INotImplementedError(IRuntimeError): pass | ||||
class IOSError(IEnvironmentError): pass | ||||
class IOverflowError(IArithmeticError): pass | ||||
class IOverflowWarning(IWarning): pass | ||||
class IReferenceError(IStandardError): pass | ||||
class IRuntimeWarning(IWarning): pass | ||||
class IStopIteration(IException): pass | ||||
class ISyntaxWarning(IWarning): pass | ||||
class ISystemError(IStandardError): pass | ||||
class ISystemExit(IException): pass | ||||
class ITabError(IIndentationError): pass | ||||
class ITypeError(IStandardError): pass | ||||
class IUnboundLocalError(INameError): pass | ||||
class IUnicodeError(IValueError): pass | ||||
class IUserWarning(IWarning): pass | ||||
class IZeroDivisionError(IArithmeticError): pass | ||||
classImplements(ArithmeticError, IArithmeticError) | ||||
classImplements(AssertionError, IAssertionError) | ||||
classImplements(AttributeError, IAttributeError) | ||||
classImplements(DeprecationWarning, IDeprecationWarning) | ||||
classImplements(EnvironmentError, IEnvironmentError) | ||||
classImplements(EOFError, IEOFError) | ||||
classImplements(Exception, IException) | ||||
classImplements(FloatingPointError, IFloatingPointError) | ||||
classImplements(ImportError, IImportError) | ||||
classImplements(IndentationError, IIndentationError) | ||||
classImplements(IndexError, IIndexError) | ||||
classImplements(IOError, IIOError) | ||||
classImplements(KeyboardInterrupt, IKeyboardInterrupt) | ||||
classImplements(KeyError, IKeyError) | ||||
classImplements(LookupError, ILookupError) | ||||
classImplements(MemoryError, IMemoryError) | ||||
classImplements(NameError, INameError) | ||||
classImplements(NotImplementedError, INotImplementedError) | ||||
classImplements(OSError, IOSError) | ||||
classImplements(OverflowError, IOverflowError) | ||||
try: | ||||
classImplements(OverflowWarning, IOverflowWarning) | ||||
except NameError: #pragma NO COVER | ||||
pass # OverflowWarning was removed in Python 2.5 | ||||
classImplements(ReferenceError, IReferenceError) | ||||
classImplements(RuntimeError, IRuntimeError) | ||||
classImplements(RuntimeWarning, IRuntimeWarning) | ||||
try: | ||||
classImplements(StandardError, IStandardError) | ||||
except NameError: #pragma NO COVER | ||||
pass # StandardError does not exist in Python 3 | ||||
classImplements(StopIteration, IStopIteration) | ||||
classImplements(SyntaxError, ISyntaxError) | ||||
classImplements(SyntaxWarning, ISyntaxWarning) | ||||
classImplements(SystemError, ISystemError) | ||||
classImplements(SystemExit, ISystemExit) | ||||
classImplements(TabError, ITabError) | ||||
classImplements(TypeError, ITypeError) | ||||
classImplements(UnboundLocalError, IUnboundLocalError) | ||||
classImplements(UnicodeError, IUnicodeError) | ||||
classImplements(UserWarning, IUserWarning) | ||||
classImplements(ValueError, IValueError) | ||||
classImplements(Warning, IWarning) | ||||
classImplements(ZeroDivisionError, IZeroDivisionError) | ||||