异常处理(0分)

  • 主题发起人 主题发起人 cgd555
  • 开始时间 开始时间
C

cgd555

Unregistered / Unconfirmed
GUEST, unregistred user!
请问我这样可不可以处理异常
var
k:byte;
Erro:integer;
tran:string;
begin
Erro:=0
//用来处理当tran中不是16进制数的异常
k:=strtoint('$'+tran);
except
On Exception do
Erro:=1;
end;
if Erro=1 then
begin
RichEdit2.Text:='第'+INTTOSTR(Lnum)+'行语法错误';
messagebeep(0);
goto 1;
end
else
begin
A:=k;
ACC:=A;
end;
end;
 
begin
try
...
except
RichEdit2.Text:='第'+INTTOSTR(Lnum)+'行语法错误';
messagebeep(0);
exit;
end;
...
end;

 
测试一下不就可以了。
不行,IF没有在异常块中,肯定是执行不到的。你可以这样
Procedure DoMyProcedure(ErrorNo:Integer);
Begin
//处理异常
End;

except
On Exception do
Erro:=1;
DoMyProcedure(Erro)
//处理异常的过程。
end;
 
后退
顶部