火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 960|回复: 1

对于CV的异常捕获的研究发现

[复制链接]

9

主题

62

帖子

807

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
807
发表于 2023-1-22 19:36:37 | 显示全部楼层 |阅读模式
本帖最后由 maoxiaosc 于 2023-1-22 19:36 编辑

由于对火山的封装语法并不熟悉,所以一直没有做好对CV异常俘获的工作,经过研究,复制修改PC自身的异常俘获函数实现了CV异常的俘获,一共有3个函数:1、开始俘获CV异常,嵌入式方法属性中填写:
name = try             标识符,在后面的语句中需要识别该标识符
has_body = true    类似于流程线属性
next = "catch_CV" 设置下一个标识符

同时在方法嵌入行中填写代码 try
2、俘获CV异常,嵌入式方法属性中填写:
name = catch_CV          标识符
has_body = true           类似于流程线属性
body_header = "CVolException ex;ex.m_nCode = nex.code;ex.m_strDesc = nex.what();"  该语句将CV的异常信息 nex 内容传递给 基本火山异常类 ex
prev = "try"                   指定语句前一个语句为 try

同时在方法嵌入行中填写代码 @ catch (cv::Exception& nex){,该语句用于捕获外部的cv异常信息 nex
3、取被俘获CV异常,在嵌入式方法属性中填写:
parent="catch_CV"     指定其父语句(上一层语句)标识符为 catch_CV
同时在方法嵌入行中填写 @ ex,用于获取 俘获CV异常 嵌入式方法属性中的 基本火山异常类 ex
函数如下图所示:
cv异常俘获.png 异常俘获效果.png


回复

使用道具 举报

70

主题

218

帖子

977

积分

高级会员

Rank: 4

积分
977
发表于 2023-3-24 23:49:51 | 显示全部楼层
6666666666666
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-3-28 20:03 , Processed in 0.098242 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表