python调用第三方库异常处理

lusteryu 2014-09-16 11:07:57
最近在写测试程序框架, 测试框架使用C++写的, 而测试流程是调用Python脚本来实现.
目前正在实现错异常处理部分, 目前C++中的异常处理已经可以捕获并且保证程序不异常退出.
python脚本部分也实现了异常处理, 并且也可以在C++中捕获到.
但是我在测试脚本中调用了boost python写的pyd库, 并故意谢了下面的代码, 以产生非法访问的错.
char* pData = NULL;
*pData = 1;

在C++中可以捕获这个异常, 但是会产生下面的VC++ runtime error的对话框, 一点击确定测试程序就退出了,
明明捕获到了为什么测试程序还是退出?

上面的对话框好像是Python运行库弹出的, 不知道怎么不显示它.
跪求大虾们帮忙, 谢谢大家.
...全文
562 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lusteryu 2014-09-25
  • 打赏
  • 举报
回复
应该是说被python的运行环境先捕获到异常了, 接着python就会弹出一个对话框 说runtime error
lusteryu 2014-09-25
  • 打赏
  • 举报
回复
我已经开启了C++异常和 SEH, C代码中的异常是可以捕获到的, 但是python调用的第三方库中的异常 却捕获不到.
  • 打赏
  • 举报
回复
改变VS工程里面,工程属性C/C++ ->代码生成 ->启用C++异常 ,修改参数试下,如果不行,自己传一个异常处理函数进去
lusteryu 2014-09-23
  • 打赏
  • 举报
回复
大伙帮忙顶一下, 谢了
lusteryu 2014-09-20
  • 打赏
  • 举报
回复
谢谢楼上 继续顶
lusteryu 2014-09-18
  • 打赏
  • 举报
回复
这个应该很少人接触过, 帮你顶一下
ImN1 2014-09-18
  • 打赏
  • 举报
回复
不是高手,不会boost,也不懂C++ 但觉得你这个异常被系统优先捕捉了,而不是程序本身 我试过一次写py3,里面调用了一个dll,因为dll项目作者没考虑py3,只给出了py2的示例,结果也跟你这个一样,py捕捉不到异常,而是系统直接报错退出,我不懂C++,所以查了很久才把变量定义纠正过来
lusteryu 2014-09-18
  • 打赏
  • 举报
回复
这个板块的人怎么这么少,
  • 打赏
  • 举报
回复
太高深了,没人敢回答,我帮你顶一顶,坐等高手来解答
lusteryu 2014-09-17
  • 打赏
  • 举报
回复
期待高手的出现
lusteryu 2014-09-17
  • 打赏
  • 举报
回复
期待高手的出现
lusteryu 2014-09-17
  • 打赏
  • 举报
回复
期待高手的出现
lusteryu 2014-09-16
  • 打赏
  • 举报
回复
怎么没人回复 顶一下

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

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