似乎错误和异常是一样的,它们都可以被’throw’语句抛出,并且被’try-catch’阻止.
解决方法
JavaScript语法
JavaScript中的错误和异常在语法上是同义词.该语言仅通过window.Error实现了Error关键字.您可以使用Error.constructor来定义自定义错误,它将名称和消息作为参数.
JavaScript错误
还有可以用于跟踪代码内的错误发生的行号码糖. JavaScript只有错误.无论您是否听到有人讨论异常或错误,在JavaScript中都是指相同的事情.
浏览器区分一下:ReferenceError(当访问一个名称不存在于堆中的变量时,或者当您输入一个错字(更多here.)时,TypeError也是一个已知的JS错误,更多的是here.
JavaScript异常
已知的JavaScript异常是DOM异常8.当您访问尚未准备好的对象(例如尚未完成请求的XMLHttpRequest)时,会发生此异常.
履行
当使用try catch或try catch finally块时,您将处理JavaScript异常和错误.代码差异没有影响.
在幕后,浏览器使用相同的window.Error构造函数.异常是一个包含“异常”的名称和消息的错误实例.
尝试:var myCustomError = new Error(“myException”,“发生异常”);. “异常”是字符串中的文本.更多关于错误here.
惯例
按照惯例,Error和Exception之间有区别.错误表示明确违规. TypeError或RefferenceError表示您没有遵循语言规范.
当您在完成之前访问XMLHttpRequest响应时,将抛出异常.错误是一个“你违法”的喊叫,异常是一个“几乎在那里”!垫在肩上.希望比喻有帮助.