Учитывая, что у меня нет ключевого "примера" в моем файле yaml, код value = config["example"].as<int>()
выбрасывает "плохое преобразование" (без дополнительных подробностей) в what()
исключения TypedBadConversion<int>
. В то время как я мог проверить ключ явно, используя if (config["example"])
, это приводит к ненужному раздуванию кода, поскольку сообщение об исключении может содержать имя отсутствующего тега для конечного пользователя.
Это явно типичный сценарий (ключ с ошибкой в файле конфигурации не может быть найден во время выполнения). Есть ли лучший способ справиться с этим?