Error:错误类型、错误处理、错误对象

小鱼儿 2023-06-18 08:53 158阅读 0赞

错误类型、错误处理、错误对象:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. </body>
  11. <script>
  12. /*
  13. 目标:进一步理解]S中的错误( Error)和错误处理
  14. mdn文档: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Error
  15. 1.错误的类型
  16. Error:所有错误的父类型
  17. ReferenceError: 引用的变量不存在
  18. TypeError: 数据类型不正确的错误
  19. RangeError: 数据值不在其所允许的范围内
  20. SyntaxError: 语法错误
  21. 2.错误处理
  22. 捕获错误:try...catch
  23. 抛出错误: throw error
  24. 3.错误对象
  25. name属性:错误的类型
  26. message属性:错误相关信息
  27. stack属性:函数调用栈记求信息
  28. */
  29. // 1.常见的内置错误
  30. //1.1 ReferenceError: 引用的变量不存在
  31. // console.log(a) //ReferenceError: a is not defined
  32. // console.log('---------')//没有捕获error ,下面的代码不会执行
  33. //1.2 TypeError: 数据类型不正确的错误
  34. // let b
  35. // console.log(b.xyz)// TypeError : Cannot read property 'xyz' of undefined
  36. // b={}
  37. // b.xyz() //TypeError: b.xyz is not a function
  38. //1.3 RangeError: 数据值不在其所允许的范围内
  39. // function fn(){
  40. // fn()
  41. // }
  42. // fn()// RangeError: Maximum call stack size exceeded
  43. //1.4 SyntaxError: 语法错误
  44. // const c = """" //SyntaxError: Unexpected string
  45. //2. 错误处理
  46. //捕获错误:try...catch
  47. try {
  48. let b
  49. console.log(b.xyz)
  50. } catch (error) {
  51. console.log(`${error.name}:${error.message}`)
  52. console.log(`${error.stack}`)
  53. }
  54. console.log('注意就算try里面有错误,也不影响try{}catch(){}后面的代码执行')
  55. //抛出错误:throw error
  56. function something() {
  57. if (Date.now() % 2 === 1) {
  58. console.log('当前时间是奇数,程序正确')
  59. } else {
  60. throw new Error('当前时间是偶数,程序错误')
  61. }
  62. }
  63. //捕获抛出的异常
  64. try {
  65. something()
  66. } catch (error) {
  67. console.log(error.message)
  68. }
  69. </script>
  70. </html>

发表评论

表情:
评论列表 (有 0 条评论,158人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Go——错误处理(error)

    1、error Go语言内置错误接口类型error。任何类型只要实现Error()string方法,都可以传递error接口类型变量。Go语言典型的错误处理方式是将ero

    相关 Error Handling 错误处理

    很多操作符可用于对Observable发射的`onError`通知做出响应或者从错误中恢复,例如,你可以: 1. 吞掉这个错误,切换到一个备用的Observable继续发射