Non-throwing Book::getDefaultIllustration()

This commit is contained in:
Veloman Yunkan committed 2021-11-18 14:39:00 +04:00
1 parent c8da5eea2b
commit 8a6adddc16
2 files changed
+7 -1

No files matched your search

+4
View File
@@ -143,6 +143,10 @@ class Book
bool m_readOnly = false;
uint64_t m_size = 0;
std::vector<std::shared_ptr<Illustration>> m_illustrations;
// Used as the return value of getDefaultIllustration() when no default
// illustration is found in the book
static const Illustration missingDefaultIllustration;
};
}
+3 -1
View File
@@ -231,6 +231,8 @@ void Book::setPath(const std::string& path)
: path;
}
const Book::Illustration Book::missingDefaultIllustration;
const Book::Illustration& Book::getDefaultIllustration() const
{
for ( const auto& ilPtr : m_illustrations ) {
@@ -238,7 +240,7 @@ const Book::Illustration& Book::getDefaultIllustration() const
return *ilPtr;
}
}
throw std::runtime_error("No default illustration");
return missingDefaultIllustration;
}
const std::string& Book::Illustration::getData() const