【发布时间】:2011-01-15 15:10:08
【问题描述】:
当处于调试模式时,powerbuilder (ver 10.5) 会抛出应用程序执行错误并终止应用程序,因为 try/catch 块中的语句引发的错误?
例如下面的第 3 行会抛出“超出数组边界”错误并且应用程序被终止。如何克服这个(已处理)错误并调试其余代码?
try
// lstr_passed_values = message.powerobjectparm
ls_symv_no = gstr_symv_passed_values.is_values[1]
if isnull(ls_symv_no) or ls_symv_no = "" then
is_symv_no="%"
else
is_symv_no = ls_symv_no
gstr_symv_passed_values.is_values[1]=""
end if
catch (throwable err)
is_symv_no="%"
end try
【问题讨论】:
-
您是否尝试过在访问数组元素之前检查数组的长度?
-
是的,这可以解决问题,但是 try/catch 块的目的是什么。在运行时,代码的行为正常,正如预期的那样,但在调试模式下,它的行为就好像 try/catch 语句被忽略了!
-
经过一些研究,这似乎是已知问题,我不确定是否存在通用解决方法(在运行时使用消息框之外)。 groups.google.co.za/group/…
标签: debugging exception-handling try-catch powerbuilder