1 | interface Options {
|
2 | exit?: number
|
3 | original?: Error | undefined
|
4 | code?: string | number
|
5 | requestId?: string
|
6 | action?: string
|
7 | meta?: Record<string, any>
|
8 | }
|
9 |
|
10 | export class CloudBaseError extends Error {
|
11 | readonly exit: number
|
12 | readonly message: string
|
13 | readonly name = 'CloudBaseError'
|
14 | readonly original: Error | undefined
|
15 | readonly code: string | number
|
16 | readonly requestId: string
|
17 | readonly action: string
|
18 | readonly meta: any
|
19 |
|
20 | constructor(message: string, options: Options = {}) {
|
21 | super()
|
22 | this.message = message
|
23 | const {
|
24 | code = '',
|
25 | action = '',
|
26 | original = null,
|
27 | requestId = '',
|
28 | meta = {}
|
29 | } = options
|
30 | this.original = original
|
31 | this.code = code
|
32 | this.requestId = requestId
|
33 | this.action = action
|
34 | this.meta = meta
|
35 | }
|
36 | }
|