在Delphi XE中,我遇到了这个有趣的问题,我创建了一个try / but / funny语句,当应用程序生成一个异常时,当应用程序生成一个异常时,以外块永远不会被称为它直接跳转到finally块,我尝试了一些类似的方法,比如反转try / where /finally/but,尝试将try块更改到不同的位置,清理代码并重新编译,以防出现Delphi问题,但注意到这似乎是可行的。我在这里试图完成的是向用户显示一条对话消息,并在清理代码
我正在考虑在我正在编写的一些库中使用异常处理。该代码库最终可以在多个dlls中实现。我知道跨dlls使用异常处理不是一个好主意--然而,这样做安全吗?,我真的希望通过值来捕获,而不是指针。我还可以根据需要实现不同类型的异常。implementation omitted for brevity}
我本以为这会起作用,但是我的异