feat: more fluent vuejs app error handler
This commit is contained in:
30
frontend/spa/src/errors.js
Normal file
30
frontend/spa/src/errors.js
Normal file
@@ -0,0 +1,30 @@
|
||||
class AppError extends Error {
|
||||
constructor(message, code = 'APP_ERROR') {
|
||||
super(message);
|
||||
this.name = this.constructor.name;
|
||||
this.code = code;
|
||||
|
||||
// важно для наследования Error
|
||||
if (Error.captureStackTrace) {
|
||||
Error.captureStackTrace(this, this.constructor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class MaintenanceError extends AppError {
|
||||
constructor(message = 'Application is under maintenance') {
|
||||
super(message, 'MAINTENANCE');
|
||||
}
|
||||
}
|
||||
|
||||
class TelegramInitDataError extends AppError {
|
||||
constructor(message = 'Application must be opened inside Telegram') {
|
||||
super(message, 'NO_INIT_DATA');
|
||||
}
|
||||
}
|
||||
|
||||
export {
|
||||
AppError,
|
||||
MaintenanceError,
|
||||
TelegramInitDataError,
|
||||
};
|
||||
Reference in New Issue
Block a user