LabVIEW编程技巧:如何处理VI程序中错误信息

当我们在LabVIEW平台中写完程序交给用户使用时,一般情况下程序能够很好的运行,但在某些特殊情况下,用户进行某个操作时,会经常弹出错误提示框,报告你的程序出错误了,并导致整个程序的退出。如下面一个典型的错误提示信息下图所示:

LabVIEW编程技巧:如何处理VI程序中错误信息


这个时候会大大影响用户的使用体验,总是招来用户的各种抱怨。那么,这个时候我们就会思考,为什么程序员自己测试时一般不会出现或者很难发现这种错误,而到了用户手中就会经常出现各种莫名其妙的错误呢?

答案很简单,程序员自己写代码时,已经形成了固定的思维,你会不自觉的按照固定的流程思路去操作你的软件,而对于用户来讲,他的操作可能是随心所欲的,未必按照你想当然认为的流程去操作,这个时候就需要我们在自己的程序中要具备完善的错误处理机制。

下面通过一个例子来说一下LabVIEW程序中错误处理的简单方法。

错误处理示例说明

做一个最简单的例子,其功能是获取某个文件的大小信息并在前面板上进行显示。

其前面板及程序框图如下图所示:

LabVIEW编程技巧:如何处理VI程序中错误信息


正常情况下,如在路径中选择或者输入文件名称“D:\data.txt”,程序正确的获得了该文件的大小并进行了显示。

但如果你在路径控件中输入一个不存在的文件或者文件名称的格式不正确时,则会弹出本文开头时所示的错误提示框,并导致整个程序的退出。

错误处理方法

上例中使用了“获取文件大小”函数,该函数的输入输出参数信息如下图所示:

LabVIEW编程技巧:如何处理VI程序中错误信息


该函数中,有一个“错误输出”参数,其是一个簇(相当于C语言中的结构体)类型,包含了三个成员变量,分别为“status”、“code”和“source”,指示了该函数在程序运行过程中是否有错误,当有错误的时候,布尔类型的“status”为真,并给出该错误的代码值和出错的源信息。

因此,在VI程序中可根据簇中“status”的值来决定是否进行下一步的处理,将代码修改为如下:

LabVIEW编程技巧:如何处理VI程序中错误信息


上面代码中根据“错误输出”参数“status”的值进行处理,其值为假(不出错)时显示文件大小,其值为真(出错)时给用户弹出一个友好的提示框,提示文件路径输入错误,可重新输入。注意这种情况下与LabVIEW本身弹出的错误框提示是不同的,此时整个程序不会导致退出,可作下一步的处理。

当然,也可以直接将“错误输出”参数连接到选择结构中,LabVIEW会自动处理,这样更简单一些,如下图所示:

LabVIEW编程技巧:如何处理VI程序中错误信息


如果你想偷懒的话,你也可以直接将“错误输出”参数连接到一个显示控件上,当出错的时候也可以避免弹出错误提示框。只是,一般情况下这个显示控件是不会直接显示给用户看的(隐藏或放到显示区域外),所以此时用户不知道你的程序是否出错,只是程序没有反应而已,所以,这不是一种好的处理方法。

总结

我们使用LabVIEW编写大型项目程序时,为了程序的健壮性、可靠性等,我们要尽量在程序中提供完善的错误处理机制,包括写自己的子函数时,也应该设计这种处理机制。

如果你觉得这篇文章对你有用的话,收藏+点赞吧。


分享到:


相關文章: