Skip to content

Commit 4078d37

Browse files
Saviiochuan6
authored andcommitted
fix(exception): make exception stack lazily
1 parent 6ff34ff commit 4078d37

File tree

1 file changed

+6
-22
lines changed

1 file changed

+6
-22
lines changed

src/exception/Exception.ts

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,9 @@
1-
export interface ReactiveDBException extends Error { }
1+
export class ReactiveDBException extends Error {
22

3-
export interface ReactiveDBExceptionCtor {
4-
new(message: string): ReactiveDBException
5-
readonly prototype: ReactiveDBException
6-
}
7-
8-
function ReactiveDBExceptionCtor(this: ReactiveDBException, message: string): ReactiveDBException {
9-
const err = Error.call(this, message)
10-
this.name = err.name
11-
this.message = message
12-
this.stack = err.stack
13-
return this
14-
}
15-
16-
ReactiveDBExceptionCtor.prototype = Object.create(Error.prototype, {
17-
constructor: {
18-
value: ReactiveDBExceptionCtor,
19-
enumerable: false,
20-
writable: true,
21-
configurable: true
3+
constructor(message: string) {
4+
super(message)
5+
this.name = 'ReactiveDBError';
6+
(Object as any).setPrototypeOf(this, ReactiveDBException.prototype)
227
}
23-
})
248

25-
export const ReactiveDBException = ReactiveDBExceptionCtor as any as ReactiveDBExceptionCtor
9+
}

0 commit comments

Comments
 (0)