在做 JSON.parse 之前

更嚴謹的做法。

錯誤示範

1
2
let str = '[123'
let json = JSON.parse(str) // SyntaxError: Unexpected end of JSON input

更好的做法

加上 try catch

1
2
3
4
5
6
7
8
9
10
11
let str = '[123'
try {
// 正確的處理
let json = JSON.parse(str)
console.log(json)
} catch (error) {
// 錯誤的處理
console.log('出錯啦')
console.log(error)
}
console.log('不會被中斷,還是可以執行')

備註:catch 中的 error 是把錯誤訊息「字串」給印出來,不是中斷執行。

所以就算 JSON.parse 出錯你的程式也不會直接掛掉,並且能良好的對「正確」跟「錯誤」各別處理。

想遵循的變數命名方式 理解什麼是 race-condition
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×