我有如下的try catch
span class="hljs-keyword">try {
user = await admin.auth().getUserByEmail(inputEmail)。
} catch(錯誤) {
if(error.code !== "auth/user-not-found"/span>) throw new Error("認證失敗") 。
但我得到一個錯誤說
Object is of type 'unknown'.
關于error.code
這段代碼之前作業得非常好。如何解決這個問題呢?
我找到了這個
我試著檢查錯誤是否是Error的一個實體,結果顯示
Property 'code' 不存在于'Error'型別。
uj5u.com熱心網友回復:
你能用這個試試嗎:
try {
user = await admin.auth().getUserByEmail(inputEmail)。
} catch (error:unknown) {
if (error instanceof Error) {
if(error.code !== "auth/user-not-found" ) throw new Error("認證失敗") 。
}
請查看這個檔案,了解它。
uj5u.com熱心網友回復:
這個錯誤只是簡單地說了一下錯誤的型別是未知的
try {
/ ...
} catch (error: unknown) {
// unknown --> ^^^ }
如果你使用的是Typescript 4.4,那么你可以使用--useUnknownInCatchVariables標志,它將捕獲句子變數的默認型別從any改為unknown。
然后你設定用戶定義的型別防護來指定被拋出的錯誤型別。你可以從@firebase/util中匯入FirebaseError,就像這個問題。
import { FirebaseError } from '@firebase/util'/span>;
try {
/ ...
} catch (error: unknown) {
if (error instanceof FirebaseError) {
console.error(error.code)
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/308775.html
標籤:



