import { Observable } from 'rxjs'; import { ErrorObservable } from 'rxjs/observable/ErrorObservable'; import { IErrorHandler } from './error-handler.interface'; export class FallbackErrorHandler implements IErrorHandler { public handle(error?: any): ErrorObservable { const unknownError: Error = new Error(); if (typeof error === 'string') { unknownError.message = error; } else if (error instanceof Error) { unknownError.message = error.message; unknownError.stack = error.stack; unknownError.name = error.name; } else if (error) { unknownError.message = JSON.stringify(error); } return Observable.throw(unknownError); } }