万卷书   首页 > 电脑书籍 > 工具软件 >IE 意外处理:有我当关,万错莫开
 
  处理程序员导致的意外

   并不是所有的意外都由 JavaScript 导致,还有一些是由程序员有意制造的。事实上,好的软件工程师把包含大量意外代码的使用作为简化代码的一种方式。其中的原因在于:这样处理后,正常处理流就同查错部分分开了,从而使代码可读性更强,更易于维护和修改。每当要处理一个特定错误时,就可以制造一个意外。你不必使用 if...else 就能在正常流和意外处理流之间切换。一旦一个意外已经发生,流控制就切换到下一个 catch(捕捉)区,在那里进行判断和错误处理。由于程序员完全明白哪个意外是他自己制造的,因此他可以设计这样一个机制,很容易地计算出哪个是意外并向用户提供有用的信息。

   下面这个简单的例子说明了你可以使用的意外处理机制: < HTML> < HEAD> < TITLE> example 1 < /TITLE> < /HEAD> < BODY> < SCRIPT LANGUAGE="JavaScript1.2"> < !-- function createException(msgNum, msgText) { this.messageNumber = msgNum; this.messageText = msgText; } function triggerException() { exceptionObj = new createException(1, "error blablabla"); throw exceptionObj; } function raiseException() { try { triggerException(); } catch (exceptionObj) { if (exceptionObj instanceof createException) { alert("Call the programmer ASAP") } else { throw exceptionObj; } } } raiseException(); // --> < /SCRIPT> < /BODY> < /HTML>   主程序只有一行脚本:raiseException()。正如函数名所表示的,这个程序的唯一目的就是要生成一个意外。raiseException() 函数的主体部分包含 try...catch 语句: function raiseException() { try { triggerException(); } catch (exceptionObj) { if (exceptionObj instanceof createException) { alert("Call the programmer ASAP") } else { throw exceptionObj; } } }   try 代码区创建一个意外对象并触发它: function triggerException() { exceptionObj = new createException(1, "error blablabla"); throw exceptionObj; } 意外对象

   意外对象是一个规则的 JavaScript 对象。这时我们将对象命名为 exceptionObj,把它命名为 kuku 也可以。这个意外对象的目的是把数据从 try 代码区运送到 catch 代码区,以将其破译并向用户报告错误的细节。无论你希望意外对象包含多少属性和方法都可以。在我们的例子中定义了两个属性:错误的信息数和其文本信息。对象创建函数是规则的JavaScript: function createException(msgNum, msgText) { this.messageNumber = msgNum; this.messageText = msgText; }
上一页 WanJuanShu 下一页