Don't use exception in MatroskaTag::internallyGetKnownField()

This commit is contained in:
Martchus 2018-05-13 20:40:30 +02:00
parent 2431889b64
commit 8887ae81cf
1 changed files with 3 additions and 6 deletions

View File

@ -73,7 +73,7 @@ MatroskaTag::IdentifierType MatroskaTag::internallyGetFieldId(KnownField field)
KnownField MatroskaTag::internallyGetKnownField(const IdentifierType &id) const
{
using namespace MatroskaTagIds;
static const map<string, KnownField> map({
static const map<string, KnownField> fieldMap({
{ artist(), KnownField::Artist },
{ album(), KnownField::Album },
{ comment(), KnownField::Comment },
@ -96,11 +96,8 @@ KnownField MatroskaTag::internallyGetKnownField(const IdentifierType &id) const
{ duration(), KnownField::Length },
{ language(), KnownField::Language },
});
try {
return map.at(id);
} catch (const out_of_range &) {
return KnownField::Invalid;
}
const auto knownField(fieldMap.find(id));
return knownField != fieldMap.cend() ? knownField->second : KnownField::Invalid;
}
/*!