Mik*_*ink 4 node.js firebase typescript google-cloud-functions firebase-admin
我有以下尝试捕获
try {
user = await admin.auth().getUserByEmail(inputEmail);
} catch (error) {
if(error.code !== "auth/user-not-found") throw new Error("authentication failed");
}
Run Code Online (Sandbox Code Playgroud)
但我收到一条错误消息
Object is of type 'unknown'.
Run Code Online (Sandbox Code Playgroud)
关于错误代码
这段代码之前工作得很好。如何解决这个问题?
我找到了这个
https://firebase.google.com/docs/reference/js/v8/firebase.FirebaseError
但我不知道可以从哪里导入它。
我尝试检查错误是否是 Error 的一个实例,其中显示
Property 'code' does not exist on type 'Error'.
Run Code Online (Sandbox Code Playgroud)
该错误只是表明该类型error未知。
try {
// ...
} catch (error: unknown) {
// unknown --> ^^^
}
Run Code Online (Sandbox Code Playgroud)
如果您正在使用Typescript 4.4,那么您可以使用--useUnknownInCatchVariables标志,它将 catch 子句变量的默认类型从 更改any为unknown。
然后,您设置用户定义的类型防护来指定引发的错误的类型。您可以FirebaseError从本期@firebase/util中的 as导入。
import { FirebaseError } from '@firebase/util';
try {
// ...
} catch (error: unknown) {
if (error instanceof FirebaseError) {
console.error(error.code)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3254 次 |
| 最近记录: |