try
  语句1
  语句2
  语句3
  语句4
  语句5
finally
  // 空语句
end;在上面的例子中,如果“语句3”出现异常,“语句4”还能执行吗?怎样才能不理会语句中的错误,从头运行的尾呢???

解决方案 »

  1.   

    我试验了一下,try语句貌似对分母为0的异常无效procedure TForm1.Button1Click(Sender: TObject);
    var
    a   :single;
    b   :single;
    c   :single;
    begin
      try      a:=1;
          b:=0;
          c:=5;
          a:=a/b;
          c:=c+1;
          c:=c+1;
          edit1.Text:=floattostr(a);
          edit2.Text:=floattostr(b);
          edit3.Text:=floattostr(c);  except
        //
      end;
       edit4.Text:=floattostr(a+b+c);
    end;
    还是会跳出来个框框,说你有个分母为0的错误
      

  2.   

    你不能直接用delphi编译运行,这样一直都会报错的,你要用delphi编译了你的项目之后,手动打开那个EXE文件,这样try报错的时候,就会执行except里面的代码,前一句错误,后一句不会执行,或者你可以每句都使用try区分
      

  3.   

    try
    finally
    end;
    首先你要理解try..finally的用途,无论try..finally中间发生了什么错误,finally之后的语句都会执行,但是try..finally如果中间的什么位置出错了,就会停止在那里,但不影响finally后的执行。。
      

  4.   

    如果Try检测到异常会直接去执行except里面的内容,如果有finally的话最后才执行finally里的内容
      

  5.   


    每个语句都用try except包起来:
    try 语句1 except end;
    try 语句2 except end;
    try 语句3 except end;
    try 语句4 except end;
    try 语句5 except end;
      

  6.   

    try
    ...
    finally
    ...
    end;

    try
    ...
    except
    ...
    end;
    区别理解清楚,就明白语句是怎么执行了,请阅读相关基础知识文档
      

  7.   

    仅仅对这个程序,根本不要用try...语句,应该对值检验,当b作除数,就必须检验b是否等于0
      

  8.   

    如果“语句3”出现异常,执行finally
      

  9.   

    异常了就尝试查找Except相关的代码,没有就查看Finally。
      

  10.   

    不管是否出错都从头执行到尾?
    不加TRY...行不行.
      

  11.   

    楼上的兄弟 不加try的话 会出现错误提示的 还得按确认键
      

  12.   

    tryfinallyend;try里面出现异常也不会印象finally里的执行