首页 > 代码库 > Delphi 异常类

Delphi 异常类

 

----------------------------------------------------------------------
EExternal = class(Exception)

    EExternalException = class(EExternal)    无效的异常码

    整数计算异常
    EIntError = class(EExternal)                整数计算异常(基类)
        EDivByZero = class(EIntError)            整数除 0 溢出
        EIntOverFlow = class(EIntError)        整数溢出
        ERangeError = class(EIntError)        整数越界

    浮点计算异常
    EMathError = class(EExternal)                浮点计算异常(基类)
        EInvalidArgument = class(EMathError)    参数超出范围
        EInvalidOp = class(EMathError)        无效浮点操作指令
        Eoverflow = class(EMathError)            浮点操作上溢
        Eunderflow = class(EMathError)        浮点操作下溢
        EZeroDivide = class(EMathError)        浮点计算除 0

    EAccessViolation = class(EExternal)        非法内存访问

    EPrivilege = class(EExternal)                处理器特权违规

    EStackOverflow = class(EExternal) end deprecated    栈溢出

    EControlC = class(EExternal)                用户中断

----------------------------------------------------------------------
    堆异常
EHeapException = class(Exception)
    EOutOfMemory  = class(EHeapException)        堆中没有足够的内存完成操作
        EOutOfResources = class(EOutOfMemory)
    EInvalidPointer = class(EHeapException)    试图访问一个堆外的指针

----------------------------------------------------------------------
    I/O异常
EInOutError = class(Exception)                DOS输入/输出错误

----------------------------------------------------------------------
    字符转换异常
EConvertError = class(Exception)                数字到字符串或字符串到数字转换错误

----------------------------------------------------------------------
    类型转换异常
EInvalidCast = class(Exception)                类型转换异常

----------------------------------------------------------------------
    哑异常
EAbort = class(Exception)                        调用 Abort 产生,不显示错误提示框

----------------------------------------------------------------------
    流异常
EStreamError = class(Exception)
    EFileStreamError = class(EStreamError)
        EFCreateError = class(EFileStreamError)    创建文件时发生错误
        EFOpenError = class(EFileStreamError)        打开文件时发生错误
    EFilerError = class(EStreamError)
        EReadError = class(EFilerError)                不能从文件流读取数据
        EWriteError = class(EFilerError)                不能写数据到文件流
        EClassNotFound = class(EFilerError)            窗口上的组件已被删除
        EInvalidImage = class(EFilerError)            不能读资源文件
        EMethodNotFound = class(EFilerError)

EResNotFound = class(Exception)            无法找到资源
EBitsError = class(Exception)                试图非法访问布尔型数组
EListError = class(Exception)                索引项超出链表范围
EStringListError = class(Exception)        字符串链表(list box)越界
EParserError = class(Exception)            文本到二进制流转换错误

----------------------------------------------------------------------
    通用组件异常
EInvalidOperation = class(Exception)    在组件上的非法操作。原因:试图对 Parent 属性为 nil 的组件进行一些需要窗口句柄的操作,试图对窗体拖放操作
EComponentError = class(Exception)        不能注册或重命名一个组件
EOutOfResources = class(EOutOfMemory)    资源不足。原因:操作系统没有多余的句柄可分配