try {
this._router.navigate([result?.data?.menuLink]);
console.log('inside try block');
} catch {
this._router.navigate(['/dashboards/analytics']);
console.log('inside catch block');
}
try块中的router.navigate
引发错误,因为该路径不存在,但它不会进入catch块。
我在控制台中收到以下错误:
core.mjs:6469 ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'config/payment'
2条答案
按热度按时间sycxhyv71#
根据文档,该函数返回一个Promise。promise是异步的,这意味着当你试图捕捉错误时,错误还没有发生。相反,你可以在promise上使用
.catch()
函数。bgtovc5b2#
只需要为捕捉承诺错误设置语法
async await
但是,根据您的代码和描述,您可以设置一个特定的组件或使用重定向配置在您的路由器干净的代码