how2j.cn


工具版本兼容问题
JavaScript提供了一种try catch的错误处理机制,当有错误抛出的时候,可以catch住。


示例 1 : 调用不存在的函数   
示例 2 : try catch   

示例 1 :

调用不存在的函数

edit
在本例中故意调用不存在的函数f2, 因为函数f2不存在,所以会出错,并且会中断执行。 导致后面的代码也不会执行了。
运行效果
<script> document.write("试图调用不存在的函数f2()就会报错,并且导致javascript中止执行,后面的代码也不会执行了"); function f1(){ //函数f1是存在的 } f2(); //调用不存在的函数f2(); document.write("剩下的代码"); </script>
<script>
document.write("试图调用不存在的函数f2()就会报错,并且导致javascript中止执行,后面的代码也不会执行了"); 

function f1(){
  //函数f1是存在的
}
f2();  //调用不存在的函数f2();
document.write("剩下的代码"); 
</script>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
对f2()调用进行try catch的处理。 捕捉到了该方法未定义的错误。并打印出来。
后续的代码,也就可以继续执行了。
运行效果
<script> function f1(){ //函数f1是存在的 } try{ document.write("试图调用不存在的函数f2()<br>"); f2(); //调用不存在的函数f2(); } catch(err){ document.write("捕捉到错误产生:"); document.write(err.message); } document.write("<p>因为错误被捕捉了,所以后续的代码能够继续执行</p>"); </script>
<script>

function f1(){
  //函数f1是存在的
}
try{
   document.write("试图调用不存在的函数f2()<br>"); 
    f2();  //调用不存在的函数f2();
}
catch(err){
   document.write("捕捉到错误产生:"); 
    document.write(err.message);
}

document.write("<p>因为错误被捕捉了,所以后续的代码能够继续执行</p>"); 

</script>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2019-08-15 关于throw和finally
RedMn




throw 语句创建自定义错误。 finally 语句在 try 和 catch 语句之后,无论是否有触发异常,该语句都会执行。
try { 
        if(x =true)  throw "值为空";
     }catch(err) {
        document.write= ("错误: " + err);    //输出    "错误":值为空
    }finally{
        document.write=(<p>结束</p>);    //有异常也会输出
    }

    

							


2 个答案

稻男
答案时间:2019-11-28
console.log大法不好用吗

阿春
答案时间:2019-08-17
是的,finally就是一定会执行的,不论发不发生异常,所以finally代码块一般来放一定会执行的语句



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2018-04-24 感觉js跟java还是有点儿像的
ddhjx_zq

感觉js跟java还是有点儿像的




9 个答案

FARO_Z
答案时间:2020-10-18
确实,感觉js也多少沾点python

LuzfeI
答案时间:2020-07-31
要不然怎么会叫javascript

ssssss2222222
答案时间:2020-04-24
我觉得像python和java结合在一起

DarkADays
答案时间:2020-03-25
哈哈哈,确实,毕竟javascript当初就是与sun的人合作写的

阿春
答案时间:2019-08-17
对啊,判断啥的,循环啥的java有的javascript都有

BeachFish
答案时间:2019-07-03
借鉴模仿,站在巨人的肩膀上

java迷途小菜鸡
答案时间:2019-01-23
我觉得很多语言语法上都很像

Shelly2016
答案时间:2018-12-29
我也这么觉得

啾啾啾
答案时间:2018-05-01
你的感觉没错 我突然也是这个感觉哈哈哈



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2017-11-10 document.write("<p>因为错误被捕捉了,所以后续的代码能够继续执行</p>");




提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 前端部分-JavaScript-错误处理 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 635924385
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图