位置: 编程技术 - 正文

javascript编程异常处理实例小结(javascript异步编程)

编辑:rootadmin

推荐整理分享javascript编程异常处理实例小结(javascript异步编程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript异步编程,javascript异步编程,js异步编程的四种方法,javascript编程技术,javascript异步编程,javascript异常,javascript异常,javascript 编程,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例总结了javascript编程异常处理的方法。分享给大家供大家参考,具体如下:

前言:在前一篇《asp.net开发中常见公共捕获异常方式总结》,我们整理总结了asp.net服务端的异常处理。这一篇接着前文,简单总结并讨论一下javascript在客户端的异常处理。这样asp.net的服务端和客户端异常处理我们就都有了初步的认识。

1、烦人的脚本错误

楼猪经常装,但是普遍都没有深度。偶然艰难地看懂了一段英文,终于可以深沉地再装一回:

When browsing Web pages on the internet, we all have seen a JavaScript alert box telling us there is a runtime error and asking "Do you wish to debug&#;". Error message like this may be useful for developers but not for users. When users see errors, they often leave the Web page.

上面这段话,哼哼,看不懂了吧?nc楼猪优雅且粗暴地理解一下就是,打开一个网页,我们都不时碰到过网页弹出脚步错误并询问“是否要调试?”这种sb问题。烦不烦啊,正常用户经常都会习惯性选择右上红叉,但是这种提示信息可能对开发人员就tmd很有用。由此可见,我kao,开发人员不正常?!看来楼猪理解有误。其实您不难看出,原文要告诉我们的最终意图应该是,网页里出现脚本错误很要命,用户体验不好,白白“吓跑”一批潜在用户。

2、如何处理脚本错误

在js中,我们通常也是通过try...catch 来捕获并处理异常。

在实际代码中,我们可能会这么写:

还有一种比较通用的做法就是,给window对象的onerror事件注册通用处理方法,并将下面的代码置于页面的<head></head>节内:

javascript编程异常处理实例小结(javascript异步编程)

上面这种方式的好处是页面里写一次,就不会弹出恼人的脚本错误,有点全局处理的意思。对于开发人员,这种写法可能会隐藏潜在的脚本错误而不被发现,所以测试的时候需要注释掉上面的函数。

3、javascript里的Error

(1)、Error对象的常用属性

在我们捕获异常的时候,通常都会在catch处抛出一个Error对象的实例e,e的几个常用属性如下:

属性 说明description 异常的描述信息message 异常的描述信息name 异常类型number 独有的异常代号

在实际开发中,通常都会提示给开发人员message和name信息,以便有针对性地处理异常。

(2)、Error对象的类型

通过(1)中的name属性我们可以查看到异常类型。在js中,有如下几种常见异常类型:

TypeError : 当遇到一个意外的类型时引发,比如未声明的变量等;SyntaxError : 在解析js代码时其中的语法错误引发,比如服务端注册脚步,少一个括号或引号等;ReferenceError : 使用一个无效的引用时引发该异常;EvalError : 在错误的调用eval函数时引发;RangeError : 在一个数字型变量的值超出了其范围时引发;URIError : 错误地使用encodeURI()或decodeURI()函数时引发。

在实际的开发中,针对不同类型的异常作出不同的异常处理,有利于我们有效地发现问题和提高用户体验。

希望本文所述对大家JavaScript程序设计有所帮助。

JS简单模拟触发按钮点击功能的方法 本文实例讲述了JS简单模拟触发按钮点击功能的方法。分享给大家供大家参考,具体如下:htmlheadtitleusuallyfunction/title/headscriptfunctionload(){//下面两种方法

基于javascript实现浏览器滚动条快到底部时自动加载数据 废话不多说了,直接给大家贴js代码了。!DOCTYPEhtmlhtmlheadscriptsrc="jquery-...js"type="text/javascript"/scriptscripttype="text/javascript"$(document).ready(function(){varrange=;//距

js跨域请求数据的3种常用的方法 由于js同源策略的影响,当在某一域名下请求其他域名,或者同一域名,不同端口下的url时,就会变成不被允许的跨域请求。那这个时候通常怎么解决呢

标签: javascript异步编程

本文链接地址:https://www.jiuchutong.com/biancheng/387051.html 转载请保留说明!

上一篇:Python的collections模块中namedtuple结构使用示例

下一篇:JS简单模拟触发按钮点击功能的方法(js模拟点击事件onclick)

  • 简单解决微信文章图片防盗链问题(简单解决微信文案的方法)

    简单解决微信文章图片防盗链问题(简单解决微信文案的方法)

  • 深入分析SqlServer查询计划(深入分析的成语)

    还是来看看这个【执行过程表格】吧。我来挑几个重要的说一下。【Rows】:表示在一个执行步骤中,所产生的记录条数。(真实数据,非预期)【Executes】:表示某个执行步骤被执行的次数。(真实数据,非预期)【Stmt Text】:表示要执行的步骤的描述。【EstimateRows】:表示要预期返回多少行数据。

    在这个【执行过程表格】中,对于优化查询来说,我认为前三列是比较重要的。对于前二列,我上面也解释了,意思也很清楚。 前二列的数字也大致反映了那些步骤所花的成本,对于比较慢的查询中,应该留意它们。 【Stmt Text】会告诉你每个步骤做了什么事情。对于这种表格,它所要表达的其实是一种树型信息(一行就表示在图形方式下的一个节点), 所以,我建议从最内层开始去读它们。做为示例,我来解释一下这张表格它所表达的执行过程。

    第5行:【Clustered Index Seek(OBJECT:([MyNorthwind].[dbo].[Customers].[PK_Customers]), SEEK:([MyNorthwind].[dbo].[Customers].[CustomerID]=[MyNorthwind].[dbo].[Orders].[CustomerID]) ORDERED FORWARD)】, 意思是说,SQL Server在对表Customers做Seek操作,而且是按照【Clustered Index Seek】的方式,对应的索引是【PK_Customers】,seek的值来源于[Orders].[CustomerID]

    第4行:【Clustered Index Scan(OBJECT:([MyNorthwind].[dbo].[Orders].[PK_Orders]), WHERE:([MyNorthwind].[dbo].[Orders].[OrderDate]>='-- ::." class="img-responsive" alt="深入分析SqlServer查询计划(深入分析的成语)">

    深入分析SqlServer查询计划(深入分析的成语)

  • 一些文件未注册导致mssql表文件无法找开的解决方法(一些文件未注册怎么删除)

    一些文件未注册导致mssql表文件无法找开的解决方法(一些文件未注册怎么删除)

  • 利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)(利用感情骗取钱财算诈骗吗)

    利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)(利用感情骗取钱财算诈骗吗)

  • 所得税禁止扣除项目
  • 税务检查是什么行政行为
  • 个人专项扣除需要扣税吗
  • 分公司可以成为单位犯罪的主体吗
  • 个人开劳务发票怎么开
  • 装修辅材行业辅材现状
  • 政府基金如何开票
  • 用excel怎么制作思维导图
  • 支付违约金未取得正规发票能不能在税前列支
  • 股票盈亏怎么计算app
  • 应交税金及附加包括哪些
  • 事业单位建账期初数银行存款余额填在哪个科目
  • 代理进口货物怎么做账
  • 年终奖金个人所得税计算公式
  • 废旧物品回收是做什么的
  • 对外投资的风险及对策
  • 劳务外包与劳务派遣公司
  • 主营业务收入会计分录怎样写
  • 败诉赔偿如何支付
  • 网上申领发票怎么清卡
  • 管理费是否需合计
  • 呆账怎么写会计分录
  • 消费税如何避税计算
  • 什么是长期应付薪酬
  • 未签订劳动合同工资如何给付
  • 小规模纳税人主要缴纳
  • 合并报表同一控制下和非同一控制下区别
  • 出售货物货款预缴增值税
  • vue怎么使用本地存储比较好
  • 后端怎么把图片传给前端的
  • codelite怎么进行编译
  • 跨年费用计入未分配利润
  • 丑八怪 英文
  • 海岸边上
  • Vue--》Vue3打造可扩展的项目管理系统后台的完整指南(一)
  • 增值税附加税的税率
  • 太原市插画工作室
  • 工伤死亡 赔偿
  • zend framework手册
  • 劳务派遣开具发票
  • 资本化过程
  • phpcms怎么样
  • 公司转让债权人怎么办
  • 会议费需要纳税调整吗
  • 营业外收支核算的内容有哪些?
  • 其他业务成本如何结转
  • 本期到期债务计算公式
  • 不应确认增值税销项税额的
  • 现金日记账一般采用什么格式
  • 债务豁免涉税
  • 厂房改造费用算固定资产吗
  • sql2008使用教程
  • 建筑工程施工围挡安装
  • 其他债权投资应收利息计入什么
  • 旅行社开具的发票
  • 差旅费科目设置
  • 货物已发出可以退款吗
  • 如何取消已经生产的产品
  • 社保费申报是当月的
  • 以前年度损益调整结转到哪里
  • 银行帐户维护费怎么算
  • 整个期间影响损耗的因素
  • 公司购买电缆线用于修缮厂房
  • 预付工资怎么入账
  • linux系统关机重启命令
  • Windows Server 2008制作密码重设盘
  • fedora怎么用
  • linux 转换文件编码为utf8编码
  • spyware.exe - spyware是什么进程
  • linux的curl
  • win10文件资源
  • 向量上面有个倒着的v
  • unity2d 阴影
  • 微信小程序自定义相机
  • unity3d怎么写代码
  • 批处理实例
  • unity获取鼠标
  • java 信号量 超时
  • 一般纳税人资格查询
  • 厦门地税电话客服电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设