gpt4 book ai didi

error-handling - Clarion中是否存在异常处理?

转载 作者:行者123 更新时间:2023-12-03 07:51:00 24 4
gpt4 key购买 nike

Clarion 8是否提供任何用于异常处理的内容?我知道as of Clarion 5 there was no support就是try / catch之类的东西,但是那是在10年前发布的。除非我使用的不是Clarion#(即Clarion.NET),否则我似乎找不到任何有关如何从C6到C8的异常中恢复的信息。如果绝对没有像try / catch这样的东西,那么即使抛出异常,即使没有处理,也有什么技巧或黑客可以用来使程序不会崩溃吗?

如果有帮助,我正在使用8.0.0.8778版本。

编辑1:

这是基本程序的一些示例代码,应该可以说明PROP:LastChanceHook功能,但是,我无法使用它。当我运行该程序时,我看到第一条消息“开始”,但是什么也没有发生。我尝试从Hook返回0或1,但这也没有任何区别。每次运行此程序时,我都必须进入任务管理器并结束程序的过程,因为它不会被杀死。

PROGRAM
INCLUDE('CWEXCPT.INT'), ONCE
MAP
Hook(*ICWExceptionInfo), LONG
Test(LONG,LONG)
END
CODE
MESSAGE('[Sample] Start')
SYSTEM{PROP:LastChanceHook} = ADDRESS(Hook)
Test(10, 0) ! Intentionally causes an exception
MESSAGE('[Sample] After Test')
RETURN ! Tried removing this, no difference

Hook PROCEDURE(*ICWExceptionInfo info)
CODE
MESSAGE('[Sample] Start Hook')
IF info &= NULL THEN RETURN 0 END
Message('An exception!')
RETURN 1 ! 0 = don't kill, anything > 0 = tell RTL to kill the thread

Test PROCEDURE (LONG a, LONG b)
CODE
a %= b

最佳答案

是的,请查看帮助中的prop:LastChanceHook。它可能会提供满足您需求的足够功能。

在其他情况下,此链接上的信息也可能有用:
http://clarionsharp.com/blog/tracking-down-those-pesky-gpfs/

在C8的下一个公开版本中(当前是2012年9月27日),可以对异常显示(在上面的链接中显示)上的按钮进行一些自定义。

关于error-handling - Clarion中是否存在异常处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12626159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com