zoukankan      html  css  js  c++  java
  • JS高程3:错误处理和调试

    浏览器打开控制台的快捷键

    Ctrl+shift+I

    try-catch语句

    语法

    try{
        // 可能会导致错误的代码
    } catch(error){
        // 在错误发生时怎么处理
    }

    可以自定义错误信息

    try {
    	window.someNonexistentFunction();
    } catch (error){
    	alert("An error happened!");
    }
    

     或者使用默认的错误信息,catch块会接收一个error对象,该对象有message属性和name属性,分别表示

    message:错误信息

    name:错误类型

    try {
    	window.someNonexistentFunction();
    } catch (error){
    	alert("An error happened!");
    	alert(error.message); //window.someNonexistentFunction is not a function
    	alert(error.name); //TypeError
    }
    

     finally子句

    只要有finally子句存在,那么try和catch子句都会被忽略。(哪怕没有catch子句)

    function testFinally(){
    try {
    	return 2;
    } catch (error){
    	return 1;
    } finally {
    	return 0;
    }
    } //最后返回0
    

     错误类型

    ECMA-262 定义了下列 7 种错误类型:

     Error
     EvalError
     RangeError
     ReferenceError
     SyntaxError
     TypeError
     URIError

    在找不到对象的情况下,会发生 ReferenceError(这种情况下,会直接导致人所共知的"object
    expected"浏览器错误)

    TypeError 类型在 JavaScript 中会经常用到,在变量中保存着意外的类型时,或者在访问不存在的
    方法时,都会导致这种错误。

    使用console对象将错误信息输出到控制台。

    console.log(...);

    下面是几种避免浏览器响应 JavaScript 错误的方法。

     在可能发生错误的地方使用 try-catch 语句,这样你还有机会以适当的方式对错误给出响应,
    而不必沿用浏览器处理错误的机制。
     使用 window.onerror 事件处理程序,这种方式可以接受 try-catch 不能处理的所有错误(仅
    限于 IE、 Firefox 和 Chrome)。
    另外,对任何 Web 应用程序都应该分析可能的错误来源,并制定处理错误的方案。
     首先,必须要明确什么是致命错误,什么是非致命错误。
     其次,再分析代码,以判断最可能发生的错误。 JavaScript 中发生错误的主要原因如下。
         类型转换
         未充分检测数据类型
         发送给服务器或从服务器接收到的数据有错误
  • 相关阅读:
    implementaion bottle session with beaker
    [梦]20050802
    网站更新部署20100912
    Cherokee不值得推荐,你还是可以看一看
    最简单方法远程调试Python多进程子程序
    nginx相关的问题
    本地配置host解析的问题
    base target问题,
    在asp.net中自动合并小图片并使用css sprite显示出来
    html编辑器
  • 原文地址:https://www.cnblogs.com/leomei91/p/7552625.html
Copyright © 2011-2022 走看看