LabVIEW错误处理
1.错误产生后,由谁处理?集中处理或者在产生错误处各自处理?
2.错误如何处理?忽略,重试或恢复?
只处理自身能处理的错误,无法处理的应当shutdown。
3.错误如何呈现给用户?报出或记录在log中?
4.错误出现后,是否让其影响到程序中其他的部分?串行的错误处理会导致出错模块后的模块都放弃执行。
5.错误优先级。哪些错误优先处理。
某些错误与系统的重要任务相关,这些错误要优先处理。
6.反复出现的错误。发生多次,如何处理?
错误的分类
1.警告:警示,不一定会导致故障。
2.严重错误:导致故障的错误。
3.用户错误:非系统自身产生,而是用户操作导致的错误。
4.其他错误:例如网络断开等通信错误。
错误的记录
1.发生时间:时间戳。
2.出现次数:同一错误出现的次数。
3.调用链:调用栈信息。
4.错误值:错误发生时,当前的系统状态值。
LabVIEW推荐的错误处理工具
Structured Error Handler (SEH) Reference Library
这只是一个错误处理工具,最好的方式仍然是自己写错误处理来应对各类情况。