如何使用 firebase admin 捕获 firebase 身份验证错误
How can I catch a firebase auth error with firebase admin
我有以下try catch
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'.
在 error.code
此代码之前运行良好。如何解决?
我找到了这个
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
。
然后你设置User defined type guards to specify type for the error that is being thrown. You can import FirebaseError
from @firebase/util
as in this issue.
import { FirebaseError } from '@firebase/util';
try {
// ...
} catch (error: unknown) {
if (error instanceof FirebaseError) {
console.error(error.code)
}
}
你能试试这个吗:
try {
user = await admin.auth().getUserByEmail(inputEmail);
} catch (error:unknown) {
if (error instanceof Error) {
if(error.code !== "auth/user-not-found") throw new Error("authentication failed");
}
}
请检查这个docs。
我有以下try catch
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'.
在 error.code
此代码之前运行良好。如何解决?
我找到了这个
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
。
然后你设置User defined type guards to specify type for the error that is being thrown. You can import FirebaseError
from @firebase/util
as in this issue.
import { FirebaseError } from '@firebase/util';
try {
// ...
} catch (error: unknown) {
if (error instanceof FirebaseError) {
console.error(error.code)
}
}
你能试试这个吗:
try {
user = await admin.auth().getUserByEmail(inputEmail);
} catch (error:unknown) {
if (error instanceof Error) {
if(error.code !== "auth/user-not-found") throw new Error("authentication failed");
}
}
请检查这个docs。