Protect some exceptions from being passed to Swig.

pull/1191/head
John Ralls 6 years ago
parent 52600bbd1f
commit b19f3d383c

@ -888,10 +888,17 @@ gnc_register_number_range_option(GncOptionDB* db, const char* section,
const char* doc_string, ValueType value,
ValueType min, ValueType max, ValueType step)
{
GncOption option{GncOptionRangeValue<ValueType>{section, name, key,
doc_string, value, min,
max, step}};
db->register_option(section, std::move(option));
try
{
GncOption option{GncOptionRangeValue<ValueType>{section, name, key,
doc_string, value, min,
max, step}};
db->register_option(section, std::move(option));
}
catch(const std::invalid_argument& err)
{
std::cerr <<"Number Range Option " << err.what() << ", option not registerd.\n";
}
}
void

@ -425,10 +425,19 @@ wrap_unique_ptr(GncOptionDBPtr, GncOptionDB);
auto db_opt = optiondb->find_option(section, name);
if (!db_opt)
{
// PWARN("Attempt to write non-existent option %s/%s", section, name);
std::cerr <<"Attempt to write non-existent option " << section
<< "/" << name;
return;
}
GncOption_set_value_from_scm(db_opt, new_value);
try
{
GncOption_set_value_from_scm(db_opt, new_value);
}
catch(const std::invalid_argument& err)
{
std::cerr << "Failed to set option " << section << "/" << name
<< ": " << err.what() << "\n";
}
}
GncOptionDBPtr

Loading…
Cancel
Save