下面代码中有两个try,在里面组的try错时,应该运行except里所有的代码才对呀
为什么我的程序在(1)处的运行了,在(2)处的没有出来就直接到finally了为什么?
请高手看看,谢谢了
我是想在程序向一个文件里写时,如果出错就放在同一目录的BF.TXT中,可怎么也不行
      try
        try
         AssignFile(mytxt,tim);
         Form1.Caption:=Form1.Caption+'+';
          if FileExists(tim) then
              Append(mytxt)
            else Rewrite(mytxt,tim);
              writeln(mytxt,shuju);
            Form1.Caption:=Form1.Caption+'3';
            ListBox1.Items.Delete(0);
        except
          (1) Form1.Caption:=Form1.Caption+'b';
          closefile(mytxt);
          (2) Form1.Caption:=Form1.Caption+'b';
          tim:=ExtractFilePath(ParamStr(0))+'bf.txt';         
          AssignFile(mytxt,tim);
          if FileExists(tim) then
              Append(mytxt)
            else Rewrite(mytxt,tim);
              writeln(mytxt,shuju);
           Form1.Caption:=tim+'4'+shuju;
           ListBox1.Items.Delete(0);
         end;
      finally
           
           Form1.Caption:=Form1.Caption+'5';
           Inc(faShu);
           cl:=True;
        end;

解决方案 »

  1.   

    try
             AssignFile(mytxt,tim);
             Form1.Caption:=Form1.Caption+'+';
              if FileExists(tim) then
                  Append(mytxt)
                else Rewrite(mytxt,tim);
                  writeln(mytxt,shuju);
                Form1.Caption:=Form1.Caption+'3';
                ListBox1.Items.Delete(0);           Form1.Caption:=Form1.Caption+'5';
               Inc(faShu);
               cl:=True;        except
              (1) Form1.Caption:=Form1.Caption+'b';
              closefile(mytxt);
              (2) Form1.Caption:=Form1.Caption+'b';
              tim:=ExtractFilePath(ParamStr(0))+'bf.txt';         
              AssignFile(mytxt,tim);
              if FileExists(tim) then
                  Append(mytxt)
                else Rewrite(mytxt,tim);
                  writeln(mytxt,shuju);
               Form1.Caption:=tim+'4'+shuju;
               ListBox1.Items.Delete(0);
               Form1.Caption:=Form1.Caption+'5';
               Inc(faShu);
               cl:=True;
             end;
      

  2.   

    to: hqhhh
    不行
    好像在出错时一关那个文件就又出错了