前言
前几日,小黑充电学习意外的看到了下面的这个东东。
![](https://image.shishitao.com:8440/aHR0cHM6Ly9pbWFnZXMyMDE1LmNuYmxvZ3MuY29tL2Jsb2cvODQxMjc3LzIwMTcwMy84NDEyNzctMjAxNzAzMjUxNjAzMzg5NDAtMTk5MzQwODI1MS5wbmc%3D.png?w=700)
编程许久竟然没有见过这样子的错误枚举,甚为好奇,问刘大后才知道是Error Ring,为此恶补一下LabVIEW中与错误处理相关的内容。
错误的生成
Error Ring
Error Ring 的说明
Error Ring可以直接使用LabVIEW 定义好的一些错误或者自定义的错误,其帮助内容如下。
通过选板于Dialog& User Interface下面可以选择Error Ring
![](https://image.shishitao.com:8440/aHR0cHM6Ly9pbWFnZXMyMDE1LmNuYmxvZ3MuY29tL2Jsb2cvODQxMjc3LzIwMTcwMy84NDEyNzctMjAxNzAzMjUxNjAzNDA4NDYtOTA1OTEyNTYxLnBuZw%3D%3D.png?w=700)
通过Quick Drop可以直接放置Error Ring
![](https://image.shishitao.com:8440/aHR0cHM6Ly9pbWFnZXMyMDE1LmNuYmxvZ3MuY29tL2Jsb2cvODQxMjc3LzIwMTcwMy84NDEyNzctMjAxNzAzMjUxNjAzNDE0NTUtNDY1NzA5MzQucG5n.png?w=700)
选择Error Ring后会弹出设置对话框
查看Error Ring的帮助说明,知晓可以修改错误的类别和显示内容
![](https://image.shishitao.com:8440/aHR0cHM6Ly9pbWFnZXMyMDE1LmNuYmxvZ3MuY29tL2Jsb2cvODQxMjc3LzIwMTcwMy84NDEyNzctMjAxNzAzMjUxNjAzNDM2NDMtMjcxMjE0NDY1LnBuZw%3D%3D.png?w=700)
其中,Error会产生错误
![](https://image.shishitao.com:8440/aHR0cHM6Ly9pbWFnZXMyMDE1LmNuYmxvZ3MuY29tL2Jsb2cvODQxMjc3LzIwMTcwMy84NDEyNzctMjAxNzAzMjUxNjAzNDQ2OTAtMTIzOTQ0NjQxOC5wbmc%3D.png?w=700)
而Warning只会产生信息却不报错
![](https://image.shishitao.com:8440/aHR0cHM6Ly9pbWFnZXMyMDE1LmNuYmxvZ3MuY29tL2Jsb2cvODQxMjc3LzIwMTcwMy84NDEyNzctMjAxNzAzMjUxNjAzNDU4MzAtMTk1MjQ5MTExOC5wbmc%3D.png?w=700)
![](https://image.shishitao.com:8440/aHR0cHM6Ly9pbWFnZXMyMDE1LmNuYmxvZ3MuY29tL2Jsb2cvODQxMjc3LzIwMTcwMy84NDEyNzctMjAxNzAzMjUxNjAzNDY1MTgtNDMwMjM3Nzg5LnBuZw%3D%3D.png?w=700)
Error Ring的使用
通过LabVIEW的错误选择器,可以找到系统给我们指定好的一些错误
我们还可以选择一些自定义的错误
直接输入错误号和我们需要报的错误内容即可
LabVIEW自定义错误
除去Error Ring可以定义一些错误外,通过LabVIEW自带的错误管理机制也可以进行错误管理
Error Cluster From Error Code可以通过Error Code 生成特定的错误
![](https://image.shishitao.com:8440/aHR0cHM6Ly9pbWFnZXMyMDE1LmNuYmxvZ3MuY29tL2Jsb2cvODQxMjc3LzIwMTcwMy84NDEyNzctMjAxNzAzMjUxNjAzNTE3ODMtNjIxMTY4NDYucG5n.png?w=700)
General Error Handle 可以从user.lib下的文件中获取自定义好的错误进行后续处理(默认错误也可以根据错误号获得并生成)
使用General Error Handle可以直接定义一些预知的错误
![](https://image.shishitao.com:8440/aHR0cHM6Ly9pbWFnZXMyMDE1LmNuYmxvZ3MuY29tL2Jsb2cvODQxMjc3LzIwMTcwMy84NDEyNzctMjAxNzAzMjUxNjAzNTM5MDgtMjI0NjU3OTYwLnBuZw%3D%3D.png?w=700)
错误的显示处理
其他错误处理工具包
接下来看看VIPM中与错误处理相关的内容有哪些
MGI Reporter
MGIReport写了一个错误的处理引擎,通过与引擎通讯获得一些存储的功能,可以深入研究
后记
小黑发现以前做的程序在错误生成和错误处理方面考虑的不是特别充足,所以导致后期程序维护时,问题定位比较困难。下一篇会继续错误处理,详细看看SEH错误处理工具。
另,如果有北京的工作或学习的小伙伴,可以在后台吼一声,小黑统计一下人数,可以抽一个时间出来聚一聚,交流一些程序设计中面临的问题和一些软件技巧。
![](https://image.shishitao.com:8440/aHR0cHM6Ly9pbWcyMDIyLmNuYmxvZ3MuY29tL2Jsb2cvMzU2OTUvMjAyMjAxLzM1Njk1LTIwMjIwMTIwMTgzMDM4MDczLTE4MDg2MzE3Ny5qcGc%3D.jpg?w=700)