www.wapease.com ·新闻动态 ·技术专题 ·WAP开发 ·用户专区 ·企业专区 ·相关资源 ·网络知识
首页>WAP开发技术>WMLScript教程>正文    

8.4 运行错误检测和处理


WAP技术站:www.wapease.com  将本文推荐给你的QQ或MSN好友 加入收藏

例如,下面的函数就可能会导致内存不足:

 

function f(x) {

         x=x+"abcdefghijklmnopqrstuvxyz";

         f(x);

};

 

该程序执行了一个死循环,不断地把“abcdefghijklmnopqrstuvxyz”这个字符串追加到字符串变量x中,直到x的值超过系统内存承受能力而致死机时为止。

一般地,编程中应尽量减小单个数据的规模和内存资源的占用,并避免死循环程序,这样通常能够有效地防止内存不足错误的发生。

外部异常错误
外部异常错误大都是由WMLScript字节码编译器的外部因素引起的,比如用户或系统等因素。

(1) 用户引起的外部异常错误。如果在程序运行中,用户要中止程序的执行并发出了中止指令,比如按了Reset键,那么此时程序就会中止执行,并给用户返回相应的错误信息。

(2) 系统引起的外部异常错误。主要是指由于系统供电不足、断电或设备损坏等因素造成的异常中止程序执行的错误。避免这类错误也没有什么好方法,只有依赖于程序的外部系统环境稳定、可靠,减少意外事件的发生。

8.4.4  非致命错误及其处理
非致命错误主要包括计算错误、常量错误和转换错误等,这些错误不会导致程序崩溃,但会返回一个invalid的无效值或0.0,说明错误性质。

计算错误
计算错误都与WMLScript所支持的数学运算功能有关,比如除数为零、整数溢出、浮点数溢出、浮点数下溢等。

(1) 除数为零。当在程序中出现0除整数、浮点数或其他数据时,都会导致计算错误。例如下面的简单程序就会出现除数为零的计算错误:

 

var a = 10;

var b = 0;

var x = a / b;

var y = a div b;

var z = a % b;

a /= b;

 

避免这种错误的方法并不复杂,只需在程序设计时仔细分析变量数据,尤其是作为除数的变量的值,并通过if条件语句等另外处理这种情况即可。

(2) 整数溢出。程序中执行整数操作时有可能会出现整数计算结果溢出的错误。这种错误通常是整数经计算后产生的,所以编程阶段一般难以发现。不过在程序调试阶段,我们可以通过不断测试比较大的整数运算,来检测是否会出现整数溢出的错误。如果出现,就要对程序中的整数运算做适当的调整,以避开整数无限增大的情况。

本新闻共6页,当前在第4页  1  2  3  4  5  6  

上一篇:8.3 预 编 译
下一篇:第9章 WMLScript库及库函数
Google
 
关于“8.4 运行错误检测和处理”的相关内容连接
·专题:WML语言全垒打
·WML字符使用基本规则
·9.8.4 简单动画实例
·9.8.3 货币换算实例
·9.8 WML/WMLScript应用举例
·9.5 WMLBrowser库及其函数
·9.4 URL库及其函数(2)
·9.4 URL库及其函数(1)
·9.3.10 replaceAt函数
·9.3.5 find函数

万易网(wapease.com)版权所有  服务声明

Copyright © 2003-2008 Wapease Network, All Rights Reserved