• 全部
  • VBS
  • .NET技术
  • VBA
  • VB网络编程
  • VB多媒体
  • VB数据库
  • VB控件
  • VB COM/DCOM
  • VB基础类
  • VB API
  • 问答

等了这么久——没有人能解决这个问题么?

lovechina99 2005-03-12 11:39:50
我编了个程序A,A的功能是调用执行程序B。如果在调用时B时,B发生了运行时错误,A怎样捕获这个异常?
...全文
127 点赞 收藏 18
写回复
18 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
godwater8 2005-03-14
这个不好办呀,2个程序之间在内存划分上是相对独立的,一个程序不可能跨越这个界限去捕捉另一个程序的异常,除非b程序作相应处理并通过一定方式把异常传给A,比如进程间通信,这个都要求B去配合的
回复
xxuu503 2005-03-14
不好意思,看错了,不是调用B类,而是调用B程序
回复
xxuu503 2005-03-14
B:
try
///////////你的代码
catch ex as exception
throw ex
end try

A:此时,通过try catch可以接收到b throw出来的ex
回复
amendajing 2005-03-14
mark
回复
hamadou 2005-03-14
正常不正常退出,这个很容易得到进程退出的返回值,不过,那怎么知道哪里异常了啊???楼上说的不是没什么用处!
回复
weiljj 2005-03-14
在B正常退出時,給一個返回值,比如正常退出時調用Environment.Exit(-1),這樣,A中調用B時,就可以取得B的返回值,如果返回值不是-1,就說明B是非正常退出了
回复
捏造的信仰 2005-03-14
9494。楼主要搞得出来的话,可以自己写一个Java平台了。
回复
同意楼上观点
回复
syeerzy 2005-03-12
也就是说在B中加 Try --catch.

并把catch到的错误信息作为参数值传回给A


回复
gdami 2005-03-12
是啊, 没听说过可以抓别的程序的异常。
回复
smx717616 2005-03-12
也就是说在B中加 Try --catch.
回复
smx717616 2005-03-12
那你就在B出错时 Return 一个东西,让a 判断

如:
if b()=ok then

else

end if
回复
hamadou 2005-03-12
不会,帮顶!
回复
lovechina99 2005-03-12
是两个不同的控制台程序
回复
jsfeiyu 2005-03-12
你这个A程序是如何调用B程序的??是两个不同的程序还只是两个表单??写详细一点!
回复
super_lx 2005-03-12
不会,顶一下
回复
lovechina99 2005-03-12
关键是B中加入不了阿,真的没有办法了么?
回复
hamadou 2005-03-12
如果能容易地在中加入try catch 我想这个问题不会到现在也没有解决吧???
回复
发帖
VB
创建于2007-09-28

1.6w+

社区成员

VB技术相关讨论,主要为经典vb,即VB6.0
申请成为版主
帖子事件
创建了帖子
2005-03-12 11:39
社区公告
暂无公告