我正在使用HTTPInterceptor处理Angular应用程序中发生的任何错误。一旦发生错误,此拦截器将引发并处理该错误。但是,一旦向拦截器抛出了错误,我想确定是哪个组件或服务引发了该错误。
我期望以下内容:如果main.service.ts是发生错误的服务,我想在我的HTTPInterceptor类中获得名称“ main.service.ts”。
答案 0 :(得分:0)
我没有发现引发错误的组件,但是我们可以确定是哪种方法引发了错误。 我们需要一个名为“提取堆栈”的软件包
npm install extract-stack
然后,按以下方式获取函数名称。 Angular即使在生产模式下也不会更改函数名称,因此我们可以捕获发生错误的方法,如-:
var function_name = extractStack.lines(errors)[0].split('.')[1].split(' ')[0];