- 浏览: 11066 次
最新评论
js try catch 用法
2011年03月23日
try
{
throw new Error(10,"asdasdasd")
}
catch (e)
{
alert(e.message);
alert(e.description)
alert(e.number)
alert(e.name)
throw new Error(10,"asdasdasd")
}
在JavaScript可以使用try...catch来进行异常处理。例如:
try { foo.bar();} catch (e) { alert(e.name + ": " + e.message);}
目前我们可能得到的系统异常主要包含以下6种:
EvalError: raised when an error occurs executing code in eval() RangeError: raised when a numeric variable or parameter is outside of its valid range ReferenceError: raised when de-referencing an invalid reference SyntaxError: raised when a syntax error occurs while parsing code in eval() TypeError: raised when a variable or parameter is not a valid type URIError: raised when encodeURI() or decodeURI() are passed invalid parameters 上面的六种异常对象都继承自Error对象。他们都支持以下两种构造方法:
new Error();new Error("异常信息");
手工抛出异常的方法如下:
try { throw new Error("Whoops!");} catch (e) { alert(e.name + ": " + e.message);}
如要判断异常信息的类型,可在catch中进行判断:
try { foo.bar();} catch (e) { if (e instanceof EvalError) { alert(e.name + ":" + e.message); } else if (e instanceof RangeError) { alert(e.name + ": " + e.message); } // etc }
Error具有下面一些主要属性:
description: 错误描述 (仅IE可用). fileName: 出错的文件名 (仅Mozilla可用). lineNumber: 出错的行数 (仅Mozilla可用). message: 错误信息 (在IE下同description) name: 错误类型. number: 错误代码 (仅IE可用). stack: 像Java中的Stack Trace一样的错误堆栈信息 (仅Mozilla可用). 因此为了更好的了解错误信息我们可以将catch部分改为如下形式:
try { foo.bar();} catch (e) { if (browserType != BROWSER_IE) { alert("name: " + e.name + "message: " + e.message + "lineNumber: " + e.lineNumber + "fileName: " + e.fileName + "stack: " + e.stack); } else { alert("name: " + e.name + "errorNumber: " + (e.number & 0xFFFF ) + "message: " + e.message"); } }
JavaScript中的throw命令事实上可以抛出任何对象,并且我们可以在catch接受到此对象。例如:
try { throw new Date(); // 抛出当前时间对象 } catch (e) { alert(e.toLocaleString()); // 使用本地格式显示当前时间 }
发表评论
-
英语 2
2012-01-20 11:36 666英语 2 18小时前 ... -
亲,我们一起分享教育学2
2012-01-20 11:35 584亲,我们一起分享教育学2 2010年04月19日 小学教 ... -
最近学习FLEX4/FMS4的一点小体验【二】
2012-01-19 16:26 766最近学习FLEX4/FMS4的一点小体验【二】 2011年0 ... -
javascript 的 try catch用法
2012-01-19 16:26 695javascript 的 try catch用法 2011年 ... -
javascript使用全集2
2012-01-19 16:26 559javascript使用全集2 2011年04月08日 ... -
【FlashCS5】【莫名其妙】之变量 ComponentShim 未定义
2012-01-19 16:26 912【FlashCS5】【莫名其妙】之变量 ComponentSh ... -
VB窗口图表化
2012-01-17 06:11 557VB窗口图表化 2011年04月20日 '本模块为实现托 ... -
VB 两小时
2012-01-17 06:11 576VB 两小时 2011年09月25日 Option Ex ... -
使用 Shell 属性及方法
2012-01-17 06:11 814使用 Shell 属性及方法 2 ... -
VB关机代码
2012-01-17 06:11 604VB关机代码 2011年07月20日 .首先在Form1 ... -
VB 打开网络连接
2012-01-17 06:10 635VB 打开网络连接 2011年10月29日 Option ... -
所有的神马都是浮云
2012-01-16 04:51 576所有的神马都是浮云 2011年11月27日 ... -
神马都是浮云
2012-01-16 04:51 471神马都是浮云 2011年02月28日 2010一切都那么 ... -
神马都是浮云
2012-01-16 04:51 554神马都是浮云 2012年01月06日 ... -
神马都是浮云。
2012-01-16 04:51 513神马都是浮云。 2011年04月15日 ... -
2011的神马,浮云。。
2012-01-16 04:51 5822011的神马,浮云。。 2011年12月27日 年尽, ...
相关推荐
JS try catch语句一般在什么情况下使用?是必须使用的吗?下面就让小编来给大家介绍一下试用心得。
主要介绍了javascript中的try catch异常捕获机制,简单分析了try catch异常捕获机制的基本定义与使用方法,需要的朋友可以参考下
try…catch的作用是测试代码中的错误。 实例 try…catch声明 如何编写try…catch声明。 带有确认框的try…catch声明 另一个编写try…catch声明的例子。... 有两种在网页中捕获错误的方法: 使用try…catch声明。(在
巴别塔尝试捕获装载机该加载器使用babel转换文件并使用try catch子句包装所有函数(包括类方法和箭头函数),它收集特定信息:文件名,函数名,行号,使用AST(抽象语法树)和源映射。 该加载器基于babel-loader的...
主要帮助大家理解javascript中try...catch...finally,从浅入深,一步步掌握javascript中try...catch...finally的使用方法,感兴趣的小伙伴们可以参考一下
本文为大家分析了javascript中try…catch…finally的使用方法,分享给大家供大家参考,具体内容如下 稍微复杂一点点,就要用到判断语句,if else进行条件判断,话说if条件else否则,这样的判断对于写程序代码的码侬...
:sign_of_the_horns: :sign_of_the_horns: :wrench: 安装npm install --save no-try :guitar: 用法首先,我们需要设置导入JavaScript(全部) const useTry = require ( "no-try" ) . useTry ;const useTryAsync = ...
JavaScript Try...Catch 声明的 使用方法
等待js 异步等待包装器,可轻松处理错误 先决条件 您需要使用Node 7.6(或更高版本)或ES7编译器,才能使用异步/等待功能。 您可以为此使用babel或打字稿。 安装 npm i await-to-js --save 用法 import to from '...
安装$ npm install utils-try-function用法var wrap = require ( 'utils-try-function' ) ;包装(fcn) 将function包装在try/catch块中。 function fcn ( ) {throw new Error ( 'beep boop' ) ;}var f = wrap ( fcn ...
等待结果没有try / catch块的异步功能的错误处理动机我发现Go中处理错误的方式非常优雅,并希望做出一些模仿JavaScript中的行为的方法,同时还要利用新版本的Node.js(7.6+)中提供的新async / await功能。...
在没有所有try catch块的情况下安全地使用async / await [error, data]承诺签名 引发 用法 const safeAwait = require ( 'safe-await' ) async function fooBar ( ) { const [ error , data ] = await safeAwait ...
NodeJS要求没有try / catch才能让您处理模块未找到错误。 仅当模块存在且不包含错误时,才允许您优雅地要求它。 用法 const optionalRequire = require ( "optional-require" ) ( require ) ; const foo = ...
该模块将提供一种从await处理程序捕获错误的简单方法,而无需将所有内容包装在try / catch块中。 该模块是基于Node.js的仅基于减去打字稿方面的版本。 该模块 ,因为它基于提供的代码。 您可以继续正常使用async /...
试用电话功能性try-catch,用于更简洁的代码和。安装$ npm install try-call用法var call = require ( 'try-call' ) ;var doc = '{ "foo": 123 }' ;var parse = JSON . parse . bind ( null , doc ) ;call ( parse ,...
异常会被立即地抛出,可以使用 try…catch 处理,也可以冒泡。 const fs = require('fs'); try { fs.unlinkSync('文件'); console.log('已成功删除文件'); } catch (err) { // 处理错误 } 回调 异步的形式总是...
1.本书1~21章所附代码的运行环境 操作系统:Windows 2003、... 21.3.js 使用Prototype的Try.these()创建XML DOM。 21.4.html Prototype的Form对象的使用方法。 prototype.js Prototype的.js库文件。
async和await用法 avaScript异步编程是Web前端开发的重要基础,而async/await是目前比较流行... 对于初学者,可以通过本文学习async/await的基本概念和使用方法,快速掌握JavaScript异步编程的基础知识,提高开发效率。
13.3.3 使用try...catch语句处理 异常 377 13.3.4 Error对象 379 13.3.5 使用throw语句 380 13.4 JavaScript调试技巧 381 13.4.1 使用alert()语句 382 13.4.2 使用write()语句 382 13.4.3 抛出自定义异常消息 383 ...