SongLoader: throw PlaylistError on error

This commit is contained in:
Max Kellermann 2016-02-28 11:15:20 +01:00
parent fe4b1f96f1
commit 347590751c

View File

@ -45,11 +45,10 @@ SongLoader::LoadFromDatabase(const char *uri, Error &error) const
return DatabaseDetachSong(*db, *storage, uri, error); return DatabaseDetachSong(*db, *storage, uri, error);
#else #else
(void)uri; (void)uri;
(void)error;
#endif #endif
error.Set(playlist_domain, int(PlaylistResult::NO_SUCH_SONG), throw PlaylistError(PlaylistResult::NO_SUCH_SONG, "No database");
"No database");
return nullptr;
} }
DetachedSong * DetachedSong *
@ -63,14 +62,13 @@ SongLoader::LoadFile(const char *path_utf8, Path path_fs, Error &error) const
directory - obtain it from the database */ directory - obtain it from the database */
return LoadFromDatabase(suffix, error); return LoadFromDatabase(suffix, error);
} }
#else
(void)error;
#endif #endif
DetachedSong song(path_utf8); DetachedSong song(path_utf8);
if (!song.LoadFile(path_fs)) { if (!song.LoadFile(path_fs))
error.Set(playlist_domain, int(PlaylistResult::NO_SUCH_SONG), throw PlaylistError::NoSuchSong();
"No such file");
return nullptr;
}
return new DetachedSong(std::move(song)); return new DetachedSong(std::move(song));
} }