角路由异常上交错误处理程序

时间:2018-08-20 07:14:45

标签: angular angular-routing angular-errorhandler

如何处理ErrorHandler中的导航错误?

我尝试使用以下条件检查Error对象是否为NavigationError,但它表示错误。

export class AppErrorHandler implements ErrorHandler {

  constructor() { }

  handleError(error: Error) {
if (error instanceof NavigationError) {
      //do something here, may be notify or redirect to error page.
    }
}
  

如何处理ErrorHandler中的路由器导航错误?我不想添加通配符路由。

如果类型正确,上述条件是否可行?如果是这样,我应该针对哪种类型进行检查?

1 个答案:

答案 0 :(得分:0)

@prajwal

尝试使用下一种方法来处理错误,它应该在99.9%=)上起作用:

import { Router, NavigationError } from '@angular/router';

 constructor( private router: Router) {
this.router.events.filter(e => e instanceof NavigationError).subscribe(e => {
  console.log(`NAV ERROR -> ${e}`);
});

}

结果:

The right relative path is ./home, but I have tried to go on ./home2