core-native
Version:
A lightweight framework based on React Native + Redux + Redux Saga, in strict TypeScript.
26 lines (22 loc) • 882 B
text/typescript
export abstract class Exception {
/**
* @param message is JavaScript original message, in English usually.
* In prod environment, you are not advised to display the error message directly to end-user.
*/
protected constructor(public message: string) {}
}
export class APIException extends Exception {
constructor(message: string, public statusCode: number, public requestURL: string, public responseData: any, public errorId: string | null, public errorCode: string | null) {
super(message);
}
}
export class NetworkConnectionException extends Exception {
constructor(message: string, public requestURL: string, public originalErrorMessage: string = "") {
super(message);
}
}
export class JavaScriptException extends Exception {
constructor(message: string, public originalError?: any) {
super(message);
}
}