我有以下尝试捕获
try {
user = await admin.auth().getUserByEmail(inputEmail);
} catch (error) {
if(error.code !== "auth/user-not-found") throw new Error("authentication failed");
}
但我收到一个错误说
Object is of type 'unknown'.
关于错误代码
这段代码之前工作得很好。如何解决这个问题?
我找到了这个
https://firebase.google.com/docs/reference/js/v8/firebase.FirebaseError
但我不知道我可以从哪里导入它。
我试图检查错误是否是 Error 的一个实例,它说
Property 'code' does not exist on type 'Error'.
错误只是说类型error
是未知的。
try {
// ...
} catch (error: unknown) {
// unknown --> ^^^
}
如果您正在使用,Typescript 4.4
则可以使用--useUnknownInCatchVariables标志,它将 catch 子句变量的默认类型从any
更改为unknown
。
然后设置用户定义的类型保护来指定抛出的错误的类型。您可以导入FirebaseError
从@firebase/util
在此问题。
import { FirebaseError } from '@firebase/util';
try {
// ...
} catch (error: unknown) {
if (error instanceof FirebaseError) {
console.error(error.code)
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句