db/update: catch all exceptions

This commit is contained in:
Max Kellermann 2018-10-29 11:01:15 +01:00
parent 1e6c445320
commit f76544be4c
6 changed files with 21 additions and 21 deletions

View File

@ -153,8 +153,8 @@ UpdateWalk::UpdateArchiveFile(Directory &parent, const char *name,
ArchiveFile *file;
try {
file = archive_file_open(&plugin, path_fs);
} catch (const std::runtime_error &e) {
LogError(e);
} catch (...) {
LogError(std::current_exception());
if (directory != nullptr)
editor.LockDeleteDirectory(directory);
return;

View File

@ -119,9 +119,9 @@ UpdateWalk::UpdateContainerFile(Directory &directory,
modified = true;
}
} catch (const std::runtime_error &e) {
} catch (...) {
editor.LockDeleteDirectory(contdir);
LogError(e);
LogError(std::current_exception());
return false;
}

View File

@ -78,7 +78,7 @@ ExcludeList::Check(Path name_fs) const noexcept
try {
if (i.Check(NarrowPath(name_fs).c_str()))
return true;
} catch (const std::runtime_error &) {
} catch (...) {
}
}
#else

View File

@ -187,8 +187,8 @@ recursive_watch_subdirectories(WatchDirectory *directory,
FileInfo fi;
try {
fi = FileInfo(child_path_fs);
} catch (const std::runtime_error &e) {
LogError(e);
} catch (...) {
LogError(std::current_exception());
continue;
}
@ -198,8 +198,8 @@ recursive_watch_subdirectories(WatchDirectory *directory,
try {
ret = inotify_source->Add(child_path_fs.c_str(),
IN_MASK);
} catch (const std::runtime_error &e) {
FormatError(e,
} catch (...) {
FormatError(std::current_exception(),
"Failed to register %s",
child_path_fs.c_str());
continue;
@ -302,8 +302,8 @@ mpd_inotify_init(EventLoop &loop, Storage &storage, UpdateService &update,
inotify_source = new InotifySource(loop,
mpd_inotify_callback,
nullptr);
} catch (const std::runtime_error &e) {
LogError(e);
} catch (...) {
LogError(std::current_exception());
return;
}
@ -312,8 +312,8 @@ mpd_inotify_init(EventLoop &loop, Storage &storage, UpdateService &update,
int descriptor;
try {
descriptor = inotify_source->Add(path.c_str(), IN_MASK);
} catch (const std::runtime_error &e) {
LogError(e);
} catch (...) {
LogError(std::current_exception());
delete inotify_source;
inotify_source = nullptr;
return;

View File

@ -36,8 +36,8 @@ GetInfo(Storage &storage, const char *uri_utf8, StorageFileInfo &info) noexcept
try {
info = storage.GetInfo(uri_utf8, true);
return true;
} catch (const std::runtime_error &e) {
LogError(e);
} catch (...) {
LogError(std::current_exception());
return false;
}
@ -46,8 +46,8 @@ GetInfo(StorageDirectoryReader &reader, StorageFileInfo &info) noexcept
try {
info = reader.GetInfo(true);
return true;
} catch (const std::runtime_error &e) {
LogError(e);
} catch (...) {
LogError(std::current_exception());
return false;
}
@ -58,7 +58,7 @@ DirectoryExists(Storage &storage, const Directory &directory) noexcept
try {
info = storage.GetInfo(directory.GetPath(), true);
} catch (const std::runtime_error &) {
} catch (...) {
return false;
}
@ -83,7 +83,7 @@ directory_child_is_regular(Storage &storage, const Directory &directory,
try {
return GetDirectoryChildInfo(storage, directory, name_utf8)
.IsRegular();
} catch (const std::runtime_error &) {
} catch (...) {
return false;
}

View File

@ -244,8 +244,8 @@ try {
FormatDebug(update_domain,
"%s is not a directory, archive or music", name);
}
} catch (const std::exception &e) {
LogError(e);
} catch (...) {
LogError(std::current_exception());
}
/* we don't look at "." / ".." nor files with newlines in their name */