2008-02-06 18:39:07 +00:00

59 lines
1.7 KiB
Python

class Error(Exception):
pass
class ApiError(Error):
pass
class KnownError(ApiError):
"""A known error condition"""
class UsageError(ApiError):
"""A known error condition where help should be displayed"""
class ControlledSchemaError(Error):
pass
class InvalidVersionError(ControlledSchemaError):
"""Invalid version number"""
class DatabaseNotControlledError(ControlledSchemaError):
"""Database shouldn't be under vc, but it is"""
class DatabaseAlreadyControlledError(ControlledSchemaError):
"""Database should be under vc, but it's not"""
class WrongRepositoryError(ControlledSchemaError):
"""This database is under version control by another repository"""
class NoSuchTableError(ControlledSchemaError):
pass
class LogSqlError(Error):
"""A SQLError, with a traceback of where that statement was logged"""
def __init__(self,sqlerror,entry):
Exception.__init__(self)
self.sqlerror = sqlerror
self.entry = entry
def __str__(self):
ret = "SQL error in statement: \n%s\n"%(str(self.entry))
ret += "Traceback from change script:\n"
ret += ''.join(traceback.format_list(self.entry.traceback))
ret += str(self.sqlerror)
return ret
class PathError(Error):
pass
class PathNotFoundError(PathError):
"""A path with no file was required; found a file"""
pass
class PathFoundError(PathError):
"""A path with a file was required; found no file"""
pass
class RepositoryError(Error):
pass
class InvalidRepositoryError(RepositoryError):
pass
class ScriptError(Error):
pass
class InvalidScriptError(ScriptError):
pass
class InvalidVersionError(Error):
pass