错误:未捕获(承诺):[object Object]

Adi*_*tya 5 javascript error-handling angular

@Injectable()
class MyErrorHandler implements ErrorHandler {

  handleError(error) {
    // exception occured in some service class method.
    console.log('Error in MyErrorhandler - %s', error);
      if(error == 'Something went wrong'){
       //do this.
     }else{
      //do this thing.
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

当在某个类的方法中抛出异常时,MyErrorHandler 类会将捕获的错误打印为 Error in MyErrorhandler - Error: Uncaught (in promise): [object Object] Error: Something went wrong.

问题1:为什么错误显示为Error: Uncaught (in promise): [object Object]

问题 2:由于上述消息,即使if(error == 'Something went wrong')在任何条件下的代码的情况下,它也将始终读取 else 部分。我该如何解决这个问题?

小智 2

尝试添加

if(error.message == 'Something went wrong'){
}
Run Code Online (Sandbox Code Playgroud)

而不仅仅是错误。因为错误是一个对象。