iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 19
0

練習一個錯誤處理的格式,用 try、catch、throw。
一個字典查詢的功能,這裡用一個陣列,實際上我們也可以接一個 API 去對照他的 key value。當我們有找到值得時候,會回傳這個值的中文,如果有沒有就會進行錯誤處理。

function checkDictionary (key) {
    var words = {
		'apple': "蘋果",
		'banana': "香蕉",
		'peach': "桃子"
				}
    if (words[key]) {
       return words[key]
    } else {
       throw key
    }
}

說明:
if (words[key]) 的寫法我們從 if (words[key] != null) 簡化而來,因為 null 是 falsy 物件,所以當沒有值時結果會與此判斷式寫法相等。

try {
  checkDictionary("apple")
}
catch (e) {
  console.log("We don\'t know this word: " + e)
}
//結果:蘋果

說明:
我們用 try 去執行一個 function ,並在裡面加入流程控制,除了正常的功能外,如有錯誤我們也用 throw 指令,直接跳往 catch 進行進一步的處理,傳遞參數可以是任何型態,由 catch 去接收。而當在 try 中直接發生錯誤,或我們沒使用 throw 時,發生錯誤都會執行 catch 裡的功能,但我們可能無法掌握錯誤的中斷之處。

try {
  checkDictionary("mongo")
}
catch (e) {
  console.log("We don\'t know this word: " + e)
}
//結果:We don't know this word: mongo

上一篇
一個 JS 學習者的日常 day17
下一篇
一個 JS 學習者的日常 day 19
系列文
一個 JS 學習者的日常30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言