容错处理
计算机术语
容错处理是指软件运行时,能对由非正常因素引起的运行错误给出适当的处理或信息提示,使软件运行正常结束。此外.在对磁盘、打印机等计算机外设操作时.若外设没有准备好,系统会自动给出错误信息。尽管如此.设计的软件还是要具有在调用这些设备之前予以检测、处理的功能。
简介
一般来说,程序对输入的内容都有一定的要求。比如数学计算的程序就不能输入字母来计算。这个时候,一个完善的程序应该考虑到使用者各种可能的输入情况并进行容错处理。如果出现了错误,程序不会崩溃导致退出或者异常,程序里面的容错处理部分可以对意外情况进行处理 比如弹出提示框等等。
定义
软件的容错处理是指软件运行时,能对由非正常因素引起的运行错误给出适当的处理或信息提示,使软件运行正常结束。这些非因素一般包括数据类型不匹配、数据超出软件预定义范围、数据超出系统预定义范围、文件不存在以及由硬件限制所引起的非逻辑性死循环。
方法
设置循环陷井,限制数据边界值
对于由外设输入的数据,在进行数据运算处理之前,可以先插入以下程序段,检测其是否超出软件设计者设定的取值范围。若超出其边界值,则会陷进预先设置的循环体内,并给出数据超界的信息提示,直到输入数据正确为止。
Begin(*main*)
Write(’Please Enler Value of Varialion:’);
Read(X);
while(x<0)()R(x>100)DO(*陷井入口*)
Begin
Writeln(’No definition,Pease Enter again:’);
Read(x);
End;
预埋计数器,终止非逻辑性“死循环”
“死循环”是指某一程序段被反复地执行,不能自行终结。它是程序设计中一类常见的错误,一般由语法错误引起的,或者是由于程序逻辑结构有问题所致,这些问题都能通过程序设计者反复的阔试修改,在软件设计阶段被排除。但是也应注意.由于硬件的限制和计算机存贮数据的特点,有些程序虽然无任何可查的语法错误和逻辑结构错误,在软件运行时也同样可能出现非逻辑性“死循环”。对于这种现象,我们可在循环体内设置计数器和状态参量,跟踪程序的循环过程。这样一来,导致“死循环”的因素只要一出现,它们就会及时给用户以信息提示并有效地终止“死循环”。
n=maxInt-1;k=0;flag=true;
While P and flag Do(*P为原循环条件*)
Begin (*循环入口*)
.......
n=n+1;If n=maxint;Then k=k+1;
1f k2 ;Then flag=false;
End; (*循环出口*)
If not(flag) then writeln I;
.......
调用过程Procechan,增强变量类型的吝错性
PASCAl语言是一种结构化语言,它格式严谨。数据类型是强类型数据,即所有数据类型均能在编译时被确定。它要求每一个变量在程序中必须有唯一的类型。特别是当变量被定义成数值型数据类型时,其兼容性特别低.若实型、整型数据的原始输A采用字符型,在程序中再做显示转换,则可较大幅度地提高软件对类型不匹配的容错能力。调用过程Procechan以达到类型的显示转换目的。
Procedore Proceehan(Var r:real);
LabeI 1;
Var k,m,n,P:inteer;a,x:real;
Yes:boolean;Ch:char;
begin
1:yes=true;k=0;a=0;m=0;n=0;P=1;
while not(coln) and yes do
begin
Read(ch);X=ord(ch);
If(x<46)OR(x>57)OR(x=4 7) R(k>1) then yes=true;
else begiin 1f x=46 then k=k-1;
else begin
x=x-48;
If k=0 then begin m=m+1;a=a*10+X end
else begin n=n+1;p=P*10;a=a十x/p end
End(*if*)
End(x*while*)
If not(yes)R(k=2)then
begin
ReadIn:Goto l End
else t=a
End(*proce*)
文件操作的容错处理
在进行文件型数据类型操作时,若文件为空或者不存在.程序会因不能进入文件操作循环体而不对操作过程作任何反应。为此,在对文件进行操作之前.要首先对文什状态进行检测、处理。从而给计算机用户提供一个良好的使用界面。
......
assign(f,‘·dat’);Reset(f);
If eof(f) then begin
else Begin…End(*文件操作过程*)
......
此外.在对磁盘、打印机等计算机外设操作时.若外设没有准备好,系统会自动给出错误信息。尽管如此.设计的软件还是要具有在调用这些设备之前予以检测、处理的功能。
最新修订时间:2023-03-12 13:20
目录
概述
简介
定义
方法
参考资料