core-native
Version:
A lightweight framework based on React Native + Redux + Redux Saga, in strict TypeScript.
40 lines (36 loc) • 988 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);
}
}