`
hbxflihua
  • 浏览: 678501 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JS异常处理小结

阅读更多

 

有人说:JavaScript就是为了取悦用户而给开发者带来痛苦的一项技术。页面中,错误在所难免。一般而言,页面错误大致分为两种:程序内部的逻辑或者语法错误、运行中数据错误。前者多称之为错误(error),后则则多称之为异常(Exception)。

       处理异常最常用的方式:try-catch-finally,通过异常处理,可以避免程序停止运行,从而具有了一定的自我修复能力。具体使用我就不多说,下面就异常处理中需要注意的地方小结一下。

       在使用jQuey获取一个对象的属性时,如果该对象不存在,jQuery有可能会抛出异常,在有些我们不想让用户看到这样的异常,最常用的方式就是先判断该对象是否存在。如果不假思索,我们很有可能会使用如下方式:

if ($("#objID")){ }

 

 

 

这种方式看起来好像可以,实际上是不可取的。因为jQuery对象永远都有返回值,所以$("#objID") 总是返回TRUE

 

通过判断对象是否存在有如下可取方式:

1、  使用普通的js代码获取该元素,判断是否存在

if(document.getElementById('objId')){
	//如果元素存在	
}

 

 

 

 

2、  使用jQuery获取,判断该元素的大小(长度),或者将jQuery对象转为DOM对象判断。

	//判断jQuery对象的长度
	if($('#objId').length>0){

	}
	//将jQuery对象转换成DOM对象进行判断
	if($('#objId')[0]){

	}

 

 

 

 

当然,也可以通过try-catch捕获异常的方式来处理,不过这种方式用来处理对象是否存在就不太好了。

 

还有一种是在页面编译期间出现错误的情况,页面代码本身没有问题,用户的过快操作,页面JS代码还没有执行完成就直接转到其他页面也会出现这样的错误。这种错误抛给用户是相当不友好的,那么有没有办法去避免呢。下面是一种解决方案,在head部分添加如下代码:

 

    <SCRIPT type="text/javascript">
    function doNothing(){ return true; } 
    window.onerror = doNothing; 
     </SCRIPT>

 

 

 

这种方案,只有在系统经过充分的测试后才可以使用。测试的时候,建议把代码注释或者直接去掉。

3
8
分享到:
评论
4 楼 1927105 2012-08-30  
3 楼 AliceHR520 2012-08-30  
2 楼 杀客o凹胖 2012-08-30  
1 楼 jss 2012-08-30  

相关推荐

    java异常机制小结

    Java 异常机制小结 Java 异常机制是 Java 语言中一个非常重要的方面,也是程序设计的一大难点。Java 语言在设计的当初就考虑到异常处理的框架的方案,使得所有的异常都可以用一个类型来表示,不同类型的异常对应...

    javascript编程异常处理实例小结

    本文实例总结了javascript编程异常处理的方法。分享给大家供大家参考,具体如下: 前言:在前一篇《asp.net开发中常见公共捕获异常方式总结》,我们整理总结了asp.net服务端的异常处理。这一篇接着前文,简单总结并...

    JavaScript性能陷阱小结(附实例说明)

    尽量把异常处理放在函数的高层,或只在必要时使用。如果能避免异常,就尽量避免。 4. **减少全局变量的使用**: 全局变量的查找和访问较慢,应尽量使用局部变量。局部变量只在当前作用域内有效,销毁后不会占用...

    JavaScript中错误正确处理方式小结你用对了吗

    此外,现代JavaScript库和框架如React、Angular和Vue.js提供了更高级的错误边界(Error Boundaries)功能,用于捕获和处理组件内部的错误,避免整个应用因单个组件的错误而崩溃。 总之,理解JavaScript中的错误类型...

    ajax小结

    **Ajax小结** Ajax,全称Asynchronous JavaScript and XML(异步JavaScript和XML),是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新,...

    Koa 使用小技巧(小结)

    在本文中,我们将深入探讨Koa框架的一些实用小技巧,包括Cookie的安全保护、异常处理以及监控当前正在处理的请求数。 首先,让我们关注Cookie的安全保护。在基于Cookie验证用户状态的系统中,确保Cookie的安全性至...

    从零开始学JavaScript 源代码

    第一篇 JavaScript入门篇 第1章 初步了解JavaScript 1.1 JavaScript是什么 ...第13章 JavaScript错误与异常处理 第三篇 JavaScript实例篇 第14章 JavaScript与插件通信 第15章 JavaScript常用特效收集

    [JavaScript.DOM高级程序设计](加)桑贝斯.扫描版.part1.rar

     2.4 try{}、catch{}和异常处理   2.5 实例:你自己的调试日志   2.5.1 为什么需要JavaScript日志对象   2.5.2 myLogger()对象   2.6 小结   第3章 DOM2核心和DOM2 HTML   3.1 DOM不是...

    中三种截屏方式小结

    2)利用`PrintWindow`API,能捕获窗口本身,但WPF组件可能显示异常;3)模拟`PrintScreen`按键,能够获取完整的屏幕图像,但需谨慎处理剪贴板数据。在面对不同场景和需求时,开发者可以根据实际情况选择合适的方法。...

    15条JavaScript最佳实践小结

    13. **错误处理**:正确处理错误,使用`try...catch`语句捕获异常,并提供合适的错误信息。 14. **代码一致性**:遵循一致的编码风格和命名约定,如驼峰命名、下划线命名等,提高代码可读性。 15. **代码压缩与...

    20个必会的JavaScript面试题(小结)

    JavaScript 未声明变量直接使用会抛出异常:var name is not defined,如果没有处理异常,代码就停止运行了。 但是,使用typeof undeclared_variable并不会产生异常,会直接返回 undefined。 var x; // 声明 x ...

    有效的捕获JavaScript焦点的方法小结

    总结一下,掌握JavaScript中的焦点管理包括设置`tabIndex`以允许元素聚焦、处理因事件处理导致的聚焦失效问题,以及在某些特定环境下(如元素不可见时)处理可能出现的异常。了解并运用这些技巧,可以让你在创建交互...

    微信小程序框架(个人总结)

    可以创建一个requestManager,处理请求的发起、拦截、响应以及异常处理。 五、数据请求同步 小程序中,网络请求默认是异步的,这意味着不能直接等待请求结果返回。若需确保数据加载完成后再执行后续操作,可以使用...

    [JavaScript.DOM高级程序设计](加)桑贝斯.扫描版.part3.rar

     2.4 try{}、catch{}和异常处理   2.5 实例:你自己的调试日志   2.5.1 为什么需要JavaScript日志对象   2.5.2 myLogger()对象   2.6 小结   第3章 DOM2核心和DOM2 HTML   3.1 DOM不是...

    页面置换算法模拟程序报告书(内含代码+小结等)

    小结** 理解并模拟页面置换算法有助于我们更好地设计和优化操作系统中的内存管理策略。通过编写和运行模拟程序,可以直观地看到不同算法在特定工作负载下的性能差异。这份报告书提供的文档包含了详细的代码和分析...

    [JavaScript.DOM高级程序设计](加)桑贝斯.扫描版.part2.rar

     2.4 try{}、catch{}和异常处理   2.5 实例:你自己的调试日志   2.5.1 为什么需要JavaScript日志对象   2.5.2 myLogger()对象   2.6 小结   第3章 DOM2核心和DOM2 HTML   3.1 DOM不是...

Global site tag (gtag.js) - Google Analytics