Commit f76544be authored by Max Kellermann's avatar Max Kellermann

db/update: catch all exceptions

parent 1e6c4453
...@@ -153,8 +153,8 @@ UpdateWalk::UpdateArchiveFile(Directory &parent, const char *name, ...@@ -153,8 +153,8 @@ UpdateWalk::UpdateArchiveFile(Directory &parent, const char *name,
ArchiveFile *file; ArchiveFile *file;
try { try {
file = archive_file_open(&plugin, path_fs); file = archive_file_open(&plugin, path_fs);
} catch (const std::runtime_error &e) { } catch (...) {
LogError(e); LogError(std::current_exception());
if (directory != nullptr) if (directory != nullptr)
editor.LockDeleteDirectory(directory); editor.LockDeleteDirectory(directory);
return; return;
......
...@@ -119,9 +119,9 @@ UpdateWalk::UpdateContainerFile(Directory &directory, ...@@ -119,9 +119,9 @@ UpdateWalk::UpdateContainerFile(Directory &directory,
modified = true; modified = true;
} }
} catch (const std::runtime_error &e) { } catch (...) {
editor.LockDeleteDirectory(contdir); editor.LockDeleteDirectory(contdir);
LogError(e); LogError(std::current_exception());
return false; return false;
} }
......
...@@ -78,7 +78,7 @@ ExcludeList::Check(Path name_fs) const noexcept ...@@ -78,7 +78,7 @@ ExcludeList::Check(Path name_fs) const noexcept
try { try {
if (i.Check(NarrowPath(name_fs).c_str())) if (i.Check(NarrowPath(name_fs).c_str()))
return true; return true;
} catch (const std::runtime_error &) { } catch (...) {
} }
} }
#else #else
......
...@@ -187,8 +187,8 @@ recursive_watch_subdirectories(WatchDirectory *directory, ...@@ -187,8 +187,8 @@ recursive_watch_subdirectories(WatchDirectory *directory,
FileInfo fi; FileInfo fi;
try { try {
fi = FileInfo(child_path_fs); fi = FileInfo(child_path_fs);
} catch (const std::runtime_error &e) { } catch (...) {
LogError(e); LogError(std::current_exception());
continue; continue;
} }
...@@ -198,8 +198,8 @@ recursive_watch_subdirectories(WatchDirectory *directory, ...@@ -198,8 +198,8 @@ recursive_watch_subdirectories(WatchDirectory *directory,
try { try {
ret = inotify_source->Add(child_path_fs.c_str(), ret = inotify_source->Add(child_path_fs.c_str(),
IN_MASK); IN_MASK);
} catch (const std::runtime_error &e) { } catch (...) {
FormatError(e, FormatError(std::current_exception(),
"Failed to register %s", "Failed to register %s",
child_path_fs.c_str()); child_path_fs.c_str());
continue; continue;
...@@ -302,8 +302,8 @@ mpd_inotify_init(EventLoop &loop, Storage &storage, UpdateService &update, ...@@ -302,8 +302,8 @@ mpd_inotify_init(EventLoop &loop, Storage &storage, UpdateService &update,
inotify_source = new InotifySource(loop, inotify_source = new InotifySource(loop,
mpd_inotify_callback, mpd_inotify_callback,
nullptr); nullptr);
} catch (const std::runtime_error &e) { } catch (...) {
LogError(e); LogError(std::current_exception());
return; return;
} }
...@@ -312,8 +312,8 @@ mpd_inotify_init(EventLoop &loop, Storage &storage, UpdateService &update, ...@@ -312,8 +312,8 @@ mpd_inotify_init(EventLoop &loop, Storage &storage, UpdateService &update,
int descriptor; int descriptor;
try { try {
descriptor = inotify_source->Add(path.c_str(), IN_MASK); descriptor = inotify_source->Add(path.c_str(), IN_MASK);
} catch (const std::runtime_error &e) { } catch (...) {
LogError(e); LogError(std::current_exception());
delete inotify_source; delete inotify_source;
inotify_source = nullptr; inotify_source = nullptr;
return; return;
......
...@@ -36,8 +36,8 @@ GetInfo(Storage &storage, const char *uri_utf8, StorageFileInfo &info) noexcept ...@@ -36,8 +36,8 @@ GetInfo(Storage &storage, const char *uri_utf8, StorageFileInfo &info) noexcept
try { try {
info = storage.GetInfo(uri_utf8, true); info = storage.GetInfo(uri_utf8, true);
return true; return true;
} catch (const std::runtime_error &e) { } catch (...) {
LogError(e); LogError(std::current_exception());
return false; return false;
} }
...@@ -46,8 +46,8 @@ GetInfo(StorageDirectoryReader &reader, StorageFileInfo &info) noexcept ...@@ -46,8 +46,8 @@ GetInfo(StorageDirectoryReader &reader, StorageFileInfo &info) noexcept
try { try {
info = reader.GetInfo(true); info = reader.GetInfo(true);
return true; return true;
} catch (const std::runtime_error &e) { } catch (...) {
LogError(e); LogError(std::current_exception());
return false; return false;
} }
...@@ -58,7 +58,7 @@ DirectoryExists(Storage &storage, const Directory &directory) noexcept ...@@ -58,7 +58,7 @@ DirectoryExists(Storage &storage, const Directory &directory) noexcept
try { try {
info = storage.GetInfo(directory.GetPath(), true); info = storage.GetInfo(directory.GetPath(), true);
} catch (const std::runtime_error &) { } catch (...) {
return false; return false;
} }
...@@ -83,7 +83,7 @@ directory_child_is_regular(Storage &storage, const Directory &directory, ...@@ -83,7 +83,7 @@ directory_child_is_regular(Storage &storage, const Directory &directory,
try { try {
return GetDirectoryChildInfo(storage, directory, name_utf8) return GetDirectoryChildInfo(storage, directory, name_utf8)
.IsRegular(); .IsRegular();
} catch (const std::runtime_error &) { } catch (...) {
return false; return false;
} }
......
...@@ -244,8 +244,8 @@ try { ...@@ -244,8 +244,8 @@ try {
FormatDebug(update_domain, FormatDebug(update_domain,
"%s is not a directory, archive or music", name); "%s is not a directory, archive or music", name);
} }
} catch (const std::exception &e) { } catch (...) {
LogError(e); LogError(std::current_exception());
} }
/* we don't look at "." / ".." nor files with newlines in their name */ /* we don't look at "." / ".." nor files with newlines in their name */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment