js如何抛出和捕获异常( 二 )


error 。一句话就是只在已经发生error的地方throw error 。
如果一个函数只被一个已知的实体调用,那么错误检查基本上是没有必要的(例如私有函数就是这样);如果你不能事先确定所有函数被调用的地点,那么你需要进行错误检查并throw自己的error 。throw
error最好的地方是功能函数,那些是脚本环境基本组成部分的,而且可以在任意地点被调用的函数 。Javascript的库函数就是这样的例子 。
所有Javascript的库函数都应当为已知的错误条件从它们的公共接口throw
error 。对于YUI,jQuery以及Dojo等等,我们无法确定会在何时何处调用它们的库函数 。所以当你犯错时对你进行提示就是这些库函数的任务 。为什么呢?因为你不可能到库函数内部去找出错误所在 。error的调用堆栈应当终止于库函数接口,不要再深入 。没有什么比在12层函数嵌套中寻找错误更遭的事了;库函数开发人员有责任预防这种事情的发生 。
这一条同样适用于私有的Javascript库函数 。许多Web应用程序都有它们自己专属的Javascript库,可能是通过这些库来构建的,也可能是用库来代替公共的操作 。库函数的作用是降低开发难度,这是通过向人们提供其抽象表达而不是复杂的实现细节来实现的 。throw
error可以让这些复杂的实现隐藏在安全的地方不被开发者发现 。
Javascript同样提供了try-catch语句,用来在浏览器处理之前捕获被throw的error 。开发者常常会为到底是仅仅throw
error还是用try-catch将其捕获而犹豫不决 。我们应当只在程序栈的最底层throw
error,就像前面提到的,最典型的就是Javascript库函数 。所有应用程序都应当在逻辑上具有处理error的能力,因此应当在底层模块中捕获error 。
在应用程序逻辑中我们总是知道为什么要调用某个函数,因此它们非常适合处理error 。有一点要引起注意,就是永远不要在try-catch结构中使用空的catch语句;你应当用某种方法处理错误 。这钟处理在开发中和最终生产时会有些不同,但必须进行处理 。当错误发生时,不应当仅仅将其包裹在try-catch里不管——这是掩盖错误而不是解决错误 。
在Javascript中throw error是一门艺术 。在代码中找到适当的throw error的地点会花费一些时间 。不过一旦你找到了这些地点,你的调试时间就会大大降低,而你对代码的满意度会获得提升 。
【js如何抛出和捕获异常】以上就是关于js如何抛出和捕获异常的全部内容,以及js如何抛出和捕获异常的相关内容,希望能够帮到您 。

推荐阅读