首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

try..catch 不能捕获的错误有哪些?注意事项又有哪些?

我们还会讲一下 JS 中内置的错误对象(Error, SyntaxError, ReferenceError等)以及如何定义自定义错误。...try块包含我们需要检查的代码 关键字throw用于抛出自定义错误 catch块处理捕获的错误 finally 块是最终结果无论如何,都会执行的一个块,可以在这个块里面做一些需要善后的事情 1.1 try...; } catch (err) { console.log("这里不会被执行"); } 未捕获的ReferenceError将在1秒后引发: ➤ ⓧ Uncaught ReferenceError:...Error: Error while executing the code 这里注意两件事: 即使从try块抛出错误后,也会执行finally块 如果没有catch块,错误将不能被优雅地处理,从而导致未捕获的错误...定义并抛出自定义错误 我们也可以用这种方式定义自定义错误。

2.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    面试官:用一句话描述 JS 异常是否能被 try catch 捕获到 ?

    面试者:沉默 ing ………… 面试者:能捕捉到的异常必须是线程执行已经进入 try catch 但 try catch 未执行完的时候抛出来的。...try{ function d(){a.b;} d(); }catch(e){ console.log("error",e); } // output error ReferenceError...: a is not defined 方法定义在外部,执行方法在 try 里面,能捕捉到异常 function d(){a.b;} try{ d(); }catch(e){ console.log...111 Uncaught ReferenceError: a is not defined 方法定义在 try catch 代码块里面,但是执行方法在 try catch 外,在执行 d 方法的时候报错...敲黑板:不要死记硬背,啥可以捕获,啥不能捕获!记住这一句话,永远不会忘! Promise 没异常 相对于外部 try catch,Promise 没有异常!

    1.2K30

    43道JavaScript面试题

    let age = 21 } sayHi() A: Lydia 和 undefined B: Lydia 和 ReferenceError C: ReferenceError 和...,那么这很好的说明了,let也存在变量提升,但是它存在一个“暂时死区”,在变量未初始化或赋值前不允许访问。...对于箭头函数,this关键字指向是它所在上下文(定义时的位置)的环境,与普通函数不同! 这意味着当我们调用perimeter时,它不是指向shape对象,而是指其定义时的环境(window)。...我们实际做的是定义global.firstName ='Sarah'和global.lastName ='Smith。 sarah本身的返回值是undefined。 ---- 12....A: 目标 > 捕获 > 冒泡 B: 冒泡 > 目标 > 捕获 C: 目标 > 冒泡 > 捕获 D: 捕获 > 目标 > 冒泡 答案: D 在捕获阶段,事件通过父元素向下传递到目标元素。

    1.8K20

    7种你应该知道的JavaScript常见的错误

    $ node errors errors.js:3 dog ^ ReferenceError: dog is not defined 每当我们创建或定义变量时,变量名称都会写入环境记录中。...调用尚未定义的函数。 现在,当我们创建或定义一个没有赋值的变量时。变量将键作为变量名写入环境记录,但该值将保持未定义状态。...can't find it 注意:未定义的变量不会抛出ReferenceError,因为它存在于环境记录中只是它的值尚未设置。 3. SyntaxError 这是我们遇到的最常见的错误。...解析期间,JS引擎捕获了此错误。 在JS引擎中,我们的代码经历了不同的阶段,然后才能在终端上看到运行结果。 标记化 解析 执行 标记化将源代码分解为各个单元。...decodeURI("%") ^ URIError: URI malformed encodeURI,获取URI的未编码版本。“%”不是正确的URI,因此引发了URIError。

    2.6K10

    你应该知道的7 个 JavaScript 原生错误类型

    ReferenceError 当对变量或项目的引用被破坏时,将会引发此错误。那是变量或项目不存在。...1$ node errors 2errors.js:3 3dog 4^ReferenceError: dog is not defined 每当我们创建或定义变量时,变量名称都会写入环境记录中。...can't find it 注意:未定义的变量不会抛出 ReferenceError,因为它在于环境记录中的值尚未设置。 3. SyntaxError 这是最常见的错误。...JS 引擎在解析期间捕获了这个错误。在 JS 引擎中,我们的代码经历了不同的阶段,然后才能在终端上看到结果。 标记化 解析 解释 标记化将代码的源分解为各个单元。...根据 EcmaSpec 2018 版: 此规范当前未使用此异常。保留它目的是为了与本规范的先前版本兼容。 7.

    2.7K20
    领券