Delphi AV vs Try-Except [已关闭]

|                                                                                                                       
已邀请:
您必须全部修复它们! AV不仅是异常问题,而且是其处理问题。每个异常(AV)都会使您的程序进入或多或少的“未定义”状态,因为您的代码试图将某些数据写入内存或从内存中读取某些数据,并且该数据无效。因此,您的应用程序的结果或应该执行的操作不起作用!而且没有“不可能”!肯定有可能,或者您必须重写代码...     
Try-except不应因运行时错误而获得“帮助”。您应该通过修复程序中的错误来提供帮助,这样一来就不会发生访问冲突和其他错误。 如果发生异常并且您不知道为什么,那么您就无法在程序中解决此问题,因此没有理由让程序继续运行。众所周知,您程序的内存已损坏,因此最安全的方法是终止程序,以免使客户的数据再度面临危险。 如果try-except块没有捕获异常,则说明您的程序太坏了,以致您已经覆盖了处理异常的程序部分,或者异常发生在try-except块之外。 您可以尝试使用异常记录库,例如MadExcept,EurekaLog或JclDebug。它们检测程序中的异常并记录信息以帮助您调试问题。 另一种可能性是,调试器在发生异常时中断程序并向您显示有关此程序的消息。那是调试器,而不是您的程序,因此,如果然后让程序继续运行,您将看到异常处理代码接管了。     
要获得比
try
/
except
高的弹性,唯一的方法是使用单独的进程(然后使用分开的机器,然后分开建立数据中心,等等)。 听起来您正在使用的代码并非旨在与线程一起使用,不必担心在服务器应用程序中会看到繁重的多线程。我认为您当前的方法不可行。     

要回复问题请先登录注册