JavaScript中捕获异常有哪些方法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计888个文字,预计阅读时间需要4分钟。
方法:1. 使用try+catch+finally语句,语法为:javatry { // 调试代码块} catch (e) { // 捕获异常处理} finally { // 后期清理代码块}
2.使用窗口对象window的onerror事件。
方法:1、使用try catch finally语句,语法“try{//调试代码块}catch(e) {//捕获处理异常}finally{//后期清理代码块}”;2、使用窗口对象window的onerror事件。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
javascript捕获异常的方法
JavaScript的异常主要使用try catch finally语句以及窗口对象window的onerror事件来捕获。
try catch finally
try catch finally只能捕获运行时的错误,无法捕获语法错误,可以拿到出错的信息,堆栈,出错的文件、行号、列号。try catch finally语句标记要尝试的语句块,并指定一个出现异常时抛出的响应。
try{ // try_statements throw new TypeError("Test"); }catch (e){ // catch_statements console.log("catch_statements"); if(e instanceof TypeError){ // handle this expected error console.log("handle this expected error"); }else{ // handle unexpected error console.log("handle unexpected error"); } }finally{ // finally_statements console.log("finally_statements"); } /* 注: [catch (e if e instanceof TypeError) { // 非标准 catch_statements }] */
通过Error的构造器可以创建一个错误对象,当运行时错误产生时,Error的实例对象会被抛出,Error对象也可用于用户自定义的异常的基础对象,Js内建了几种标准错误类型:
EvalError: 创建一个error实例,表示错误的原因:与eval()有关。RangeError: 创建一个error实例,表示错误的原因:数值变量或参数超出其有效范围。ReferenceError: 创建一个error实例,表示错误的原因:无效引用。SyntaxError: 创建一个error实例,表示错误的原因:eval()在解析代码的过程中发生的语法错误。TypeError: 创建一个error实例,表示错误的原因:变量或参数不属于有效类型。URIError: 创建一个error实例,表示错误的原因:给encodeURI()或decodeURl()传递的参数无效。
window.onerror
window.onerror可以捕捉语法错误,也可以捕捉运行时错误,可以拿到出错的信息,堆栈,出错的文件、行号、列号,只要在当前window执行的Js脚本出错都会捕捉到,通过window.onerror可以实现前端的错误监控。出于安全方面的考虑,当加载自不同域的脚本中发生语法错误时,语法错误的细节将不会报告。
/* message:错误信息(字符串)。 source:发生错误的脚本URL(字符串) lineno:发生错误的行号(数字) colno:发生错误的列号(数字) error:Error对象(对象) 若该函数返回true,则阻止执行默认事件处理函数。 */ window.onerror = function(message, source, lineno, colno, error) { // onerror_statements } /* ErrorEvent类型的event包含有关事件和错误的所有信息。 */ window.addEventListener('error', function(event) { // onerror_statements })
以上就是javascript捕获异常的方法有哪些的详细内容,更多请关注自由互联其它相关文章!
本文共计888个文字,预计阅读时间需要4分钟。
方法:1. 使用try+catch+finally语句,语法为:javatry { // 调试代码块} catch (e) { // 捕获异常处理} finally { // 后期清理代码块}
2.使用窗口对象window的onerror事件。
方法:1、使用try catch finally语句,语法“try{//调试代码块}catch(e) {//捕获处理异常}finally{//后期清理代码块}”;2、使用窗口对象window的onerror事件。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
javascript捕获异常的方法
JavaScript的异常主要使用try catch finally语句以及窗口对象window的onerror事件来捕获。
try catch finally
try catch finally只能捕获运行时的错误,无法捕获语法错误,可以拿到出错的信息,堆栈,出错的文件、行号、列号。try catch finally语句标记要尝试的语句块,并指定一个出现异常时抛出的响应。
try{ // try_statements throw new TypeError("Test"); }catch (e){ // catch_statements console.log("catch_statements"); if(e instanceof TypeError){ // handle this expected error console.log("handle this expected error"); }else{ // handle unexpected error console.log("handle unexpected error"); } }finally{ // finally_statements console.log("finally_statements"); } /* 注: [catch (e if e instanceof TypeError) { // 非标准 catch_statements }] */
通过Error的构造器可以创建一个错误对象,当运行时错误产生时,Error的实例对象会被抛出,Error对象也可用于用户自定义的异常的基础对象,Js内建了几种标准错误类型:
EvalError: 创建一个error实例,表示错误的原因:与eval()有关。RangeError: 创建一个error实例,表示错误的原因:数值变量或参数超出其有效范围。ReferenceError: 创建一个error实例,表示错误的原因:无效引用。SyntaxError: 创建一个error实例,表示错误的原因:eval()在解析代码的过程中发生的语法错误。TypeError: 创建一个error实例,表示错误的原因:变量或参数不属于有效类型。URIError: 创建一个error实例,表示错误的原因:给encodeURI()或decodeURl()传递的参数无效。
window.onerror
window.onerror可以捕捉语法错误,也可以捕捉运行时错误,可以拿到出错的信息,堆栈,出错的文件、行号、列号,只要在当前window执行的Js脚本出错都会捕捉到,通过window.onerror可以实现前端的错误监控。出于安全方面的考虑,当加载自不同域的脚本中发生语法错误时,语法错误的细节将不会报告。
/* message:错误信息(字符串)。 source:发生错误的脚本URL(字符串) lineno:发生错误的行号(数字) colno:发生错误的列号(数字) error:Error对象(对象) 若该函数返回true,则阻止执行默认事件处理函数。 */ window.onerror = function(message, source, lineno, colno, error) { // onerror_statements } /* ErrorEvent类型的event包含有关事件和错误的所有信息。 */ window.addEventListener('error', function(event) { // onerror_statements })
以上就是javascript捕获异常的方法有哪些的详细内容,更多请关注自由互联其它相关文章!

