LocateUri: throw std::invalid_argument instead of std::runtime_error
This should translate to ACK_ERROR_ARG instead of ACK_ERROR_UNKNOWN.
This commit is contained in:
		| @@ -69,7 +69,7 @@ LocateAbsoluteUri(UriPluginKind kind, const char *uri | |||||||
| 	case UriPluginKind::INPUT: | 	case UriPluginKind::INPUT: | ||||||
| 	case UriPluginKind::STORAGE: // TODO: separate check for storage plugins | 	case UriPluginKind::STORAGE: // TODO: separate check for storage plugins | ||||||
| 		if (!uri_supported_scheme(uri)) | 		if (!uri_supported_scheme(uri)) | ||||||
| 			throw std::runtime_error("Unsupported URI scheme"); | 			throw std::invalid_argument("Unsupported URI scheme"); | ||||||
| 		break; | 		break; | ||||||
|  |  | ||||||
| 	case UriPluginKind::PLAYLIST: | 	case UriPluginKind::PLAYLIST: | ||||||
| @@ -105,7 +105,7 @@ LocateUri(UriPluginKind kind, | |||||||
| 	const char *path_utf8 = StringAfterPrefixCaseASCII(uri, "file://"); | 	const char *path_utf8 = StringAfterPrefixCaseASCII(uri, "file://"); | ||||||
| 	if (path_utf8 != nullptr) { | 	if (path_utf8 != nullptr) { | ||||||
| 		if (!PathTraitsUTF8::IsAbsolute(path_utf8)) | 		if (!PathTraitsUTF8::IsAbsolute(path_utf8)) | ||||||
| 			throw std::runtime_error("Malformed file:// URI"); | 			throw std::invalid_argument("Malformed file:// URI"); | ||||||
|  |  | ||||||
| 		return LocateFileUri(path_utf8, client | 		return LocateFileUri(path_utf8, client | ||||||
| #ifdef ENABLE_DATABASE | #ifdef ENABLE_DATABASE | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Max Kellermann
					Max Kellermann