YAML-CPP 节点诊断有意义的错误

yaml-cpp node diagnostics for meaningful errors

本文关键字:错误 有意义 诊断 节点 YAML-CPP      更新时间:2023-10-16

我正在使用yaml-cpp来解析像

Some Stuff
 - ...
Elements: 
 - Type: Fruit
   Name: A sweet sweet apple
   Size: small
 - Type: Pet
   Name: clawbeast
   Danger: Low
 - ...
More Stuff
 - ...

"类型"有一组预定义的有效值。遇到无效类型时,如何向用户指出有意义的诊断?

理想情况下,我会输出类似的东西

配置.yml 行 789 中的无效类型"Ratzupaltuff">

配置.yml 中的值 "Ratzupaltuff" 无效 .../元素/类型

YAML::Node可以获得哪些信息?

YAML::Node#Mark()返回节点的位置,即文件中的位置或行/列。