[英]How can I return an error from a function?
假設我有一個像這樣的 function:
const getPlayer = (id) => {
return players[id;]
}
//--------------------------
const client = getPlayer(9);
如果沒有找到播放器,如何將err參數返回給客戶端變量? 例如:
if (client.err) {
//do something
}
我嘗試通過throw new Error('my error')傳遞錯誤,但 function 仍然沒有得到它,我做錯了什么?:(
所以你的第一直覺是正確的,你應該使用 'throw' 關鍵字來引發錯誤。 要對錯誤采取行動,您需要像我在下面所做的那樣使用try/catch
。
const getPlayer = (id) => {
if(id in players) {
return players[id];
}
throw new Error("Oh noes...!");
}
try {
const client = getPlayer(9);
} catch(error) {
console.log(error.message);
}
當在try
塊中執行的 function 內部拋出錯誤時,執行會立即跳轉到 catch 塊,從而允許您適當地響應錯誤。
簽出 try/catch 語法。
例如:
const getPlayer = (id) => {
if (!id) {
throw new Error('no id provided');
}
return players[id]
}
要獲得此“錯誤”state,當它觸發時,您可以執行以下操作:
try {
const client = getPlayer(null);
} catch(error) {
console.log(error.message);
}
我嘗試了一些東西,但不確定這是否是您所追求的:
let a = (x) => {
if (x == 0) {
throw new Error("Votes are zero");
} else {
return x;
}
};
在控制台中運行它,值為 a(0) --> 會拋出一個新錯誤和 a(5)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.