summaryrefslogtreecommitdiff
path: root/src/buildtool/file_system/file_root.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/file_system/file_root.hpp')
-rw-r--r--src/buildtool/file_system/file_root.hpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/buildtool/file_system/file_root.hpp b/src/buildtool/file_system/file_root.hpp
index 3384f55e..f8daa429 100644
--- a/src/buildtool/file_system/file_root.hpp
+++ b/src/buildtool/file_system/file_root.hpp
@@ -183,7 +183,20 @@ class FileRoot {
friend auto operator==(Iterator const& x,
Iterator const& y) noexcept -> bool {
- return x.it_ == y.it_;
+ try {
+ return x.it_ == y.it_;
+ } catch (std::exception const& e) {
+ try {
+ Logger::Log(LogLevel::Error,
+ "Unexpected excpetion: {}",
+ e.what());
+ std::terminate();
+ } catch (...) {
+ std::terminate();
+ }
+ } catch (...) {
+ std::terminate();
+ }
}
friend auto operator!=(Iterator const& x,
Iterator const& y) noexcept -> bool {