前言
前几日,小黑充电学习意外的看到了下面的这个东东。

编程许久竟然没有见过这样子的错误枚举,甚为好奇,问刘大后才知道是Error Ring,为此恶补一下LabVIEW中与错误处理相关的内容。
错误的生成
Error Ring
Error Ring 的说明
Error Ring可以直接使用LabVIEW 定义好的一些错误或者自定义的错误,其帮助内容如下。

通过选板于Dialog& User Interface下面可以选择Error Ring
通过Quick Drop可以直接放置Error Ring

选择Error Ring后会弹出设置对话框

查看Error Ring的帮助说明,知晓可以修改错误的类别和显示内容
其中,Error会产生错误

而Warning只会产生信息却不报错


Error Ring的使用
通过LabVIEW的错误选择器,可以找到系统给我们指定好的一些错误

我们还可以选择一些自定义的错误

直接输入错误号和我们需要报的错误内容即可

LabVIEW自定义错误
除去Error Ring可以定义一些错误外,通过LabVIEW自带的错误管理机制也可以进行错误管理
通过Tools-->Advanced-->Edit Error Codes...可以自定义一些错误

这里我们定义的错误还可以保存到user.lib下,供以后复用
Error Cluster From Error Code可以通过Error Code 生成特定的错误
General Error Handle 可以从user.lib下的文件中获取自定义好的错误进行后续处理(默认错误也可以根据错误号获得并生成)

使用General Error Handle可以直接定义一些预知的错误
错误的显示处理
Simple Error Code的处理可以选择以何种方式显示错误

默认弹出一个简单的对话框来说明错误产生的原因

General Error Handle 具有同样的显示功能
其他错误处理工具包
接下来看看VIPM中与错误处理相关的内容有哪些

OpenG Error Library
功能比较简单,不在此处赘述

MGI Error Handle
功能比较简单,主要还是围绕清除错误,处理错误
MGI Reporter
MGIReport写了一个错误的处理引擎,通过与引擎通讯获得一些存储的功能,可以深入研究

后记
小黑发现以前做的程序在错误生成和错误处理方面考虑的不是特别充足,所以导致后期程序维护时,问题定位比较困难。下一篇会继续错误处理,详细看看SEH错误处理工具。
另,如果有北京的工作或学习的小伙伴,可以在后台吼一声,小黑统计一下人数,可以抽一个时间出来聚一聚,交流一些程序设计中面临的问题和一些软件技巧。