From 347590751c0aeaeb853def9fc18eebae5beecb2c Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sun, 28 Feb 2016 11:15:20 +0100 Subject: [PATCH] SongLoader: throw PlaylistError on error --- src/SongLoader.cxx | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/SongLoader.cxx b/src/SongLoader.cxx index e68edbef4..568047411 100644 --- a/src/SongLoader.cxx +++ b/src/SongLoader.cxx @@ -45,11 +45,10 @@ SongLoader::LoadFromDatabase(const char *uri, Error &error) const return DatabaseDetachSong(*db, *storage, uri, error); #else (void)uri; + (void)error; #endif - error.Set(playlist_domain, int(PlaylistResult::NO_SUCH_SONG), - "No database"); - return nullptr; + throw PlaylistError(PlaylistResult::NO_SUCH_SONG, "No database"); } DetachedSong * @@ -63,14 +62,13 @@ SongLoader::LoadFile(const char *path_utf8, Path path_fs, Error &error) const directory - obtain it from the database */ return LoadFromDatabase(suffix, error); } +#else + (void)error; #endif DetachedSong song(path_utf8); - if (!song.LoadFile(path_fs)) { - error.Set(playlist_domain, int(PlaylistResult::NO_SUCH_SONG), - "No such file"); - return nullptr; - } + if (!song.LoadFile(path_fs)) + throw PlaylistError::NoSuchSong(); return new DetachedSong(std::move(song)); }