如何触发另一个应用程序??? ( 积分: 100 )

  • 主题发起人 主题发起人 lvxiaohong702
  • 开始时间 开始时间
L

lvxiaohong702

Unregistered / Unconfirmed
GUEST, unregistred user!
请问 如果我在调试阶段 抛出了一个异常
那它是否有发出消息??
我想 如果一个程序在 调试阶段时 抛出了个异常 就触发另一个应用程序
并且这个被触发的应用程序可以得到 它所抛出的异常信息??
请问可以做到吗?? 要如何做??
 
抛出一个异常就会产生一个 seh, 只要有程序接管这个 seh 那就做什么都可以了。
在delphi ide环境下, delphi默认会接管这个 seh, 所以这个也就是 delphi在出错的
情况下会弹出的原因。
 
可不可以具体点
seh具体是什么,怎样定义的??要怎样接收呢??
 
seh具体可以查查msdn, 具体实现要用到 Debug API,可以在delphi的 windows sdk里查 Debug API
 
给个简单点的。
首先在代码内对可预知的错误用try代码块处理。
然后在窗体上放一个 ApplicationEvents 控件,在其onException事件内写代码
这样程序如果运行时出现了错误,且没被处理的,就会引发该事件,事件内会传入一个Exception对象,可以获取错误信息。当然,也可以在这里启动一个错误报告程序并传入错误信息作为启动参数。然后结束主程序。呵呵。
 
其实我的意思是 做一个应用程序 它能接收 其他程序在调试时 抛出的未被处理的异常信息

来自:白河愁, 时间:2007-6-5 17:38:05, ID:3768311
抛出一个异常就会产生一个 seh, 只要有程序接管这个 seh 那就做什么都可以了。
在delphi ide环境下, delphi默认会接管这个 seh, 所以这个也就是 delphi在出错的
情况下会弹出的原因。

但具体怎么 接收 我就不太明白
看帮助 说实话 看英文看到我头大
 
调试时,异常都被调试器优先接管的,seh可以是链式的,分层处理。
程序调试时,是调试器优先处理异常,然后被调试程序自己处理异常。如果异常没被处理,那么操作系统还有最后一个默认异常处理,就是:“XX程序运行时出现了错误,即将被关闭。”
您这个需求,必须去看seh的实现细节,然后看看能否在操作系统处理异常之前接管它。
 
多人接受答案了。
 
后退
顶部