S
shenloqi
Unregistered / Unconfirmed
GUEST, unregistred user!
这里简略的介绍一些:
如果代码引发一个异常,它必须传递一个对象给raise语句。如果Delphi到了调用堆栈
的尾部而没有找到一个匹配的异常处理程序,它将调用ExceptProc。ExceptProc实际上是
一个指针变量,指向一个有两个参数(异常对象以及异常发生的地址)的过程。Delphi也
截获运行时错误(如堆栈溢出),并为每一个错误调用ErrorProc(类似ExceptProc)。
SysUtils单元为工作于异常和运行时错误提供额外的帮助。他定义了ErrorProc和
ExceptProc过程。SysUtils单元在他的初始化部分设置ErrorProc和ExceptProc例程。
如果应用程序在SysUtils单元被初始化之前引发了一个异常或者运行时错误,你将无法
使用它的例程和异常处理程序(这个异常处理程序将诸如堆栈溢出错误转为
EstackOverflow等)。因此,如果你的应用程序报告一个原始的运行时错误,而不是打
包成一个异常时,问题就可能存在于初始化或者结束化部分。
下面列出异常和错误相关的变量(存在于System单元):
AbstractErrorProc 抽象方法错误处理程序
AssertErrorProc 断言错误处理程序
ErrorAddr 运行时错误地址
ErrorProc 错误处理程序过程
ExceptClsProc 把一个Windows异常映射为一个Delphi类
ExceptionClass 异常基类
ExceptObjProc 把一个Windows异常映射为一个Delphi对象
ExceptProc 未处理的异常处理程序
SafeCallErrorProc 安全调用错误处理程序
这些东西可能并不需要被替换,但是了解他们总是有好处的:)
如果代码引发一个异常,它必须传递一个对象给raise语句。如果Delphi到了调用堆栈
的尾部而没有找到一个匹配的异常处理程序,它将调用ExceptProc。ExceptProc实际上是
一个指针变量,指向一个有两个参数(异常对象以及异常发生的地址)的过程。Delphi也
截获运行时错误(如堆栈溢出),并为每一个错误调用ErrorProc(类似ExceptProc)。
SysUtils单元为工作于异常和运行时错误提供额外的帮助。他定义了ErrorProc和
ExceptProc过程。SysUtils单元在他的初始化部分设置ErrorProc和ExceptProc例程。
如果应用程序在SysUtils单元被初始化之前引发了一个异常或者运行时错误,你将无法
使用它的例程和异常处理程序(这个异常处理程序将诸如堆栈溢出错误转为
EstackOverflow等)。因此,如果你的应用程序报告一个原始的运行时错误,而不是打
包成一个异常时,问题就可能存在于初始化或者结束化部分。
下面列出异常和错误相关的变量(存在于System单元):
AbstractErrorProc 抽象方法错误处理程序
AssertErrorProc 断言错误处理程序
ErrorAddr 运行时错误地址
ErrorProc 错误处理程序过程
ExceptClsProc 把一个Windows异常映射为一个Delphi类
ExceptionClass 异常基类
ExceptObjProc 把一个Windows异常映射为一个Delphi对象
ExceptProc 未处理的异常处理程序
SafeCallErrorProc 安全调用错误处理程序
这些东西可能并不需要被替换,但是了解他们总是有好处的:)