Page 里面 throw Error 不能被 catch ?
发布于 4 年前 作者 liuyong 10980 次浏览 来自 问答
  • 当前 Bug 的表现(可附上截图)
  • 预期表现
  • 复现路径
  • 提供一个最简复现 Demo

如题,自己 throw 的Error 不能被 catch ?

validate(data: FormData) {
        const errors = {} as FormError;
 
        if (!data.title.length) {
            errors.title = 'xxxx';
        }
 
        if (data.code.length && !data.code.match(/^\d{13}$/)) {
            errors.code = 'xxxx';
        }
 
        if (Object.keys(errors).length) {
 
            throw new Error('error');
        }
    }
add(e) {
        const data = e.detail.value;
 
        try {
            this.validate(data);
            console.log('继续执行')
        } catch (e) {
            console.log(e)
        }
}
1 回复

补充一下, 我如果 不 throw  而 使用

Promise.reject(‘error’)  就可以正常 捕获异常

回到顶部