Merge pull request #57 from C-Elegans/map_at_error_message Add a more descriptive error for std::out_of_range in map::at
diff --git a/libtrellis/src/BitDatabase.cpp b/libtrellis/src/BitDatabase.cpp index c7dc2d1..d981d46 100644 --- a/libtrellis/src/BitDatabase.cpp +++ b/libtrellis/src/BitDatabase.cpp
@@ -267,8 +267,19 @@ void EnumSettingBits::set_value(Trellis::CRAMView &tile, const string &value) const { if (value != "_NONE_") { - auto grp = options.at(value); - grp.set_group(tile); + if(options.find(value) != options.end()) { + auto grp = options.at(value); + grp.set_group(tile); + } + else { + cerr << "EnumSettingBits::set_value: cannot set " << value << endl; + cerr << "In Options: " << endl; + for(auto it = options.begin(); it != options.end(); ++it){ + cerr << it->first << " -> " << it->second << endl; + } + + exit(1); + } } }