类似7.0的异常处理功能,7.6把exception handling做成了函数,对于一个我们能肯定它会出现,但不知道它什么时候会出现的窗口,在脚本中可以用exception进行解决
假设异常的窗口是QQ程序,首先保证GUI MAP Editor能把窗体learn到。
在map里,它是
{
class: window,
label: " ",
MSW_class: "#32770"
}
先把窗体的logical name改成win_qq,
然后添上这么一段脚本:
##如果QQ启动了,就关闭它
define_popup_exception ("closetheqq","close_qq", "win_qq" );
public function close_qq()
{
set_window("win_qq",3);
win_close("win_qq");
}
exception_on("closetheqq");
这样,一旦出现了QQ的窗口,WR就会自动的关闭他,这与7.0里的异常处理是有相通处的。并且,你可以在close_qq这样的函数里添加标记,记录出错次数。然后用report报告出来
说明一
*********************
因为是popup出来的窗口,所以,只有在这个窗口弹出之前加上exception_on才能生效,你窗口都出来了才执行exception_on
正确的步骤是这样的:
1。定义
2。加上exception_on语句
3。打开窗口,结果就自动关闭了
说明二
*********************
如果需要手动打开这个窗口来验证这种方法的正确性,可以在代码后面加一句
wait(10);
执行程序后马上就打开QQ,程序就会关闭QQ了。因为这个捕捉异常是在脚本运行过程中捕捉的,如果不加别的代码,等程序都执行完了,QQ还没出现,当然捕捉不到了。