在PB中如何使用try...catch?

chishan911 2006-07-13 03:53:49
如题,我在PB中写了一段脚本,如下:
try
li_j = integer(as_dw.object.datawindow.column.count)
catch(Exception e)
MessageBox('错误',e.getmessage())
end try

当调试时try里的脚本出错了,却catch不到,没有弹出对话框,
各位高手我写的代码有问题吗?该如何写?
...全文
3970 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tunix126 2006-12-19
  • 打赏
  • 举报
回复
可以像C++那样捕捉到所有的异常吗?
polestarxu 2006-08-11
  • 打赏
  • 举报
回复
try
li_j = integer(as_dw.object.datawindow.column.count)
catch(runtimeerror e)
MessageBox('错误',e.getmessage())
end try
zierben 2006-08-11
  • 打赏
  • 举报
回复
我刚刚写的个例子
int i,r,l

try
for i = 1 to 100
for r = 1 to 100
for l = 1 to 100

if rand(i+r+l)>100 then
RuntimeError for1
for1 = create RuntimeError
for1.setmessage('i,r,l之和不应该大于100')
throw for1
end if
next
next
next
catch (RuntimeError er1)
messagebox('警告','发生运行态异常:'+ er1.getmessage() +&
'~r~n'+string(i)+':'+string(r)+':'+string(l))

finally

end try
denxiaom 2006-08-11
  • 打赏
  • 举报
回复
mark
threshold 2006-08-10
  • 打赏
  • 举报
回复
为何建议不用?
chase08 2006-08-03
  • 打赏
  • 举报
回复
9以上才有吧,建议不用
dawugui 2006-08-02
  • 打赏
  • 举报
回复
建议不用.
rabbitsfoot 2006-08-02
  • 打赏
  • 举报
回复
try
ole_comm.object.PortOpen = true
catch (runtimeerror er)
messagebox("系统消息", "地磅通讯端口无法打开!", stopsign!)
finally
ole_comm.object.InBufferCount = 0
ole_comm.object.DTREnable = true
end try
----------------------------------

回答另外一个问题的代码,正好在这里可以再发一次,哈哈……

小潜s 2006-07-13
  • 打赏
  • 举报
回复
catch那句改成这样试试

catch ( runtimeerror er )

圣殿骑士18 2006-07-13
  • 打赏
  • 举报
回复
pb可能不能直接使用exception对象的,它是祖先,
你可以用:
dwruntimeerror
nullobjecterror
chishan911 2006-07-13
  • 打赏
  • 举报
回复
但是当我运行时也没有弹出出错对话框呢?
PB太垃圾了!
小潜s 2006-07-13
  • 打赏
  • 举报
回复
调试的时候try catch无效

740

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 脚本语言
社区管理员
  • 脚本语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧