欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS常見錯(cuò)誤(Error)及處理方案詳解

 更新時(shí)間:2020年07月02日 15:32:21   作者:BAHG  
這篇文章主要介紹了JS常見錯(cuò)誤(Error)及處理方案詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

 1. 錯(cuò)誤的類型

  Error: 所有錯(cuò)誤的父類型

   錯(cuò)誤的子類型包括:

  •    ReferenceError: 引用的變量不存在
  •    TypeError: 數(shù)據(jù)類型不正確的錯(cuò)誤
  •    RangeError: 數(shù)據(jù)值不在其所允許的范圍內(nèi)
  •    SyntaxError: 語法錯(cuò)誤

常見的內(nèi)置錯(cuò)誤:

(1)ReferenceError: 引用變量不存在

console.log(a) //ReferenceError: a is not defined

(2)TypeError: 數(shù)據(jù)類型不正確

var b = {}
b.xxx() //TypeError: b.xxx is not a function

(3)RangeError: 數(shù)據(jù)值不在其所允許的范圍內(nèi)

function fn(){
  fn()
}
fn() //RangeError: Maximum call stack size exceeded

(4)SyntaxError: 語法錯(cuò)誤

const c = """" //SyntaxError: Unexpected string

2. 錯(cuò)誤處理

  捕獲錯(cuò)誤: try ... catch

  拋出錯(cuò)誤: throw error

(1)捕獲錯(cuò)誤

try {
  let d
  console.log(d.xxx)
} catch (error) { //可以通過調(diào)試查看error對(duì)象的屬性(message屬性: 錯(cuò)誤相關(guān)信息;stack屬性: 函數(shù)調(diào)用棧記錄信息)
 console.log(error.message)
 //console.log(error.stack)
}
// 可以繼續(xù)向下執(zhí)行
console.log('出錯(cuò)之后')

(2)拋出錯(cuò)誤

function something() {
  if (Date.now() % 2 === 1 ){
  console.log('當(dāng)前時(shí)間為奇數(shù),可執(zhí)行任務(wù)')
  } else {
  throw new Error('當(dāng)前時(shí)間為偶數(shù)無法執(zhí)行任務(wù)')
  }
}

//情況1 直接調(diào)用
something() //Error: 當(dāng)前時(shí)間為偶數(shù)無法執(zhí)行任務(wù)
console.log('something之后') //不會(huì)繼續(xù)這句代碼(沒有對(duì)異常進(jìn)行處理)

//情況2 捕獲處理異常
try {
 something()
} catch(error) {
 console.log(error.message)
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論