|
123456789101112131415161718192021222324252627282930313233343536373839 |
- # The Python ISAPI package.
-
-
- # Exceptions thrown by the DLL framework.
- class ISAPIError(Exception):
- def __init__(self, errno, strerror=None, funcname=None):
- # named attributes match IOError etc.
- self.errno = errno
- self.strerror = strerror
- self.funcname = funcname
- Exception.__init__(self, errno, strerror, funcname)
-
- def __str__(self):
- if self.strerror is None:
- try:
- import win32api
-
- self.strerror = win32api.FormatMessage(self.errno).strip()
- except:
- self.strerror = "no error message is available"
- # str() looks like a win32api error.
- return str((self.errno, self.strerror, self.funcname))
-
-
- class FilterError(ISAPIError):
- pass
-
-
- class ExtensionError(ISAPIError):
- pass
-
-
- # A little development aid - a filter or extension callback function can
- # raise one of these exceptions, and the handler module will be reloaded.
- # This means you can change your code without restarting IIS.
- # After a reload, your filter/extension will have the GetFilterVersion/
- # GetExtensionVersion function called, but with None as the first arg.
- class InternalReloadException(Exception):
- pass
|