Page 里面 throw Error 不能被 catch ?

发布于 6 年前作者 liuyong11194 次浏览最后编辑 6 年前来自 ask
  • 当前 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 回复
fanjie
fanjie1 楼4 年前

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

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