A social knowledge tool for researchers built on ATProto
1import { Err } from './Result';
2import { UseCaseError } from './UseCaseError';
3
4export namespace AppError {
5 export class UnexpectedError extends UseCaseError {
6 message: string;
7 public constructor(err: any) {
8 super(`An unexpected error occurred.`);
9 console.log(`[AppError]: An unexpected error occurred`);
10 console.error(err);
11 this.message = err.toString ? err.toString() : JSON.stringify(err);
12 }
13
14 public static create(err: any): UnexpectedError {
15 return new UnexpectedError(err);
16 }
17 }
18
19 export class NotFoundError extends Err<any, UseCaseError> {
20 public constructor(message: string) {
21 super(Error(message));
22 console.log(`[AppError]: ${message}`);
23 }
24
25 public static create(message: string): NotFoundError {
26 return new NotFoundError(message);
27 }
28 }
29}