diff --git a/src/client/StarRail.ts b/src/client/StarRail.ts index 597d7d1..c6eadac 100644 --- a/src/client/StarRail.ts +++ b/src/client/StarRail.ts @@ -63,13 +63,11 @@ class StarRail { const response = await fetchJSON(url, this, true); if (response.status !== 200) { - throw new RequestError(`Request failed with unknown status code ${response.status} - ${response.statusText}\nRequest url: ${url}`, response.status, response.statusText); - } else if (response.data["detail"]) { switch (response.data["detail"]) { case "Invalid uid": - throw new InvalidUidFormatError(Number(uid)); + throw new InvalidUidFormatError(Number(uid), response.status, response.statusText); default: - throw new MihomoError(`Unknown error occurred. Error: ${response.data["detail"]}`); + throw new RequestError(`Request failed with unknown status code ${response.status} - ${response.statusText}\nError Detail: ${response.data["detail"]}\nRequest url: ${url}`, response.status, response.statusText); } } else if (response.data["ErrCode"]) { switch (response.data["ErrCode"]) { diff --git a/src/errors/InvalidUidFormatError.ts b/src/errors/InvalidUidFormatError.ts index 2bba05b..850578e 100644 --- a/src/errors/InvalidUidFormatError.ts +++ b/src/errors/InvalidUidFormatError.ts @@ -1,18 +1,20 @@ -import MihomoError from "./MihomoError"; +import RequestError from "./RequestError"; /** * @en InvalidUidFormatError - * @extends {MihomoError} + * @extends {RequestError} */ -class InvalidUidFormatError extends MihomoError { +class InvalidUidFormatError extends RequestError { /** */ readonly uid: number; /** * @param uid + * @param statusCode + * @param statusMessage */ - constructor(uid: number) { - super(`Invalid uid format. (${uid} provided.)`); + constructor(uid: number, statusCode: number, statusMessage: string) { + super(`Invalid uid format. (${uid} provided.)`, statusCode, statusMessage); this.name = "InvalidUidFormatError"; this.uid = uid;