Improve error handling from remote
This way copy all properties available in the error object and keep the real stack trace
This commit is contained in:
parent
cb91d4487b
commit
bbb5aef5d2
2 changed files with 20 additions and 2 deletions
|
@ -40,7 +40,7 @@ valueToMeta = (sender, value, optimizeSimpleObject=false) ->
|
|||
else if meta.type is 'promise'
|
||||
meta.then = valueToMeta(sender, value.then.bind(value))
|
||||
else if meta.type is 'error'
|
||||
meta.message = value.message
|
||||
meta = errorValueToMeta(value, meta)
|
||||
else if meta.type is 'date'
|
||||
meta.value = value.getTime()
|
||||
else
|
||||
|
@ -49,6 +49,13 @@ valueToMeta = (sender, value, optimizeSimpleObject=false) ->
|
|||
|
||||
meta
|
||||
|
||||
# Convert Error into meta data.
|
||||
errorValueToMeta = (err, meta) ->
|
||||
Object.getOwnPropertyNames(err).reduce((obj, key) ->
|
||||
obj[key] = err[key]
|
||||
obj
|
||||
, meta)
|
||||
|
||||
# Convert Error into meta data.
|
||||
exceptionToMeta = (error) ->
|
||||
type: 'exception', message: error.message, stack: (error.stack || error)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue