try-catch能否监听多线程中的错误
对于前端初学者而言,try-catch这组异常处理函数,可能平时接触的并不多,也不是很了解。今天咱们就来说说他,但是这还没完,顺便看看try-catch对于多线程的处理极致是什么样的。一说到多线程,好多初学者也会发蒙,不是说JavaScript时单线程的吗?那这个多线程是怎么回事?接下来就让我们一起来探讨一下。
try-catch函数
基本使用
当JavaScript引擎执行代码时,可能会发生各种错误,有可能是语法错误,通常是我们造成的编码错误或者时错别字。可能是拼写错误或语言中缺少的功能(可能用于浏览器差异)。可能由于来自服务器或用户的错误输出而导致的错误。当然,也有可能时由于许多其他不可预知的因素。当错误发生时,JavaScript引擎通常会停止,并生成一个错误信息,这种情况被称为:JavaScript抛出异常。对于可能出现问题的代码,这就涉及到异常的测试与捕获。
基本语法:
try {
//在这里运行代码
} catch(err) {
//在这里处理错误
}
try语句允许我们定义在执行时进行测试的代码块。
catch语句允许我们定义当try代码块发生错误时,所执行的代码块。
JavaScript语句 , try和catch是成对出现的 。
有一个运行代码的函数runCode:
function runCode(code){
return eval(code);
}
当我们执行 runCode(‘1+1’) 可以得到2,这里利用eval函数特性,可以执行字符串。eval并不是我们这篇文章的主要内容。对于code是用户输入,当用户输入的内容是一段错误代码,我们的函数就会报错,进而影响之后的逻辑执行。这时候就需要利用try-catch进行捕获。代码改写如下:
function runCode(code)