ďťż
chomiki
[delphi] tagi z plików MP3 zakodowanych w formacie ID3v2
[delphi] problem ze zmianą ikony programu
[delphi] Rysowanie na Canvasie z pliku *bmp
[delphi] procedury przy pokazaniu formy
Samsung GT-B3410 Delphi
[delphi] sprawdzanie poprawności adresu
[delphi] efekt przewijania label'a
Algorytm sortowania bąbelkowego w Delphi
[delphi] przylepianie formy
[delphi] konstrukcja wyjątku
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • therasmus.pev.pl

  • chomiki

    Co zrobić,aby obsłużyć dwa wyjątki na raz?


    wątki czy wyjątki?
    wyjątki, piszę wyraźnie
    Pokaż kod.



    try
        GRANY := GRANY + 1;
        JuzOdegrane[LiczyOdegrane] := Form1.ListBox.Items.Strings[GRANY];
        Odtwarzacz.FileName := Form1.ListBox.Items.Strings[GRANY];
        Odtwarzacz.Open;
        Odtwarzacz.Display := Form2.Panel1;
        Odtwarzacz.Play;
        Suwak.OnChange(self);
     
        except
          on EStringListError do
          begin
            Timer.Enabled := False;
            Odtwarzacz.Stop;
          end;
        end;
    do tego chcę jescze dorzucić:


    except
          on EMCiDeviceError do
          begin
            Timer.Enabled := False;
            Odtwarzacz.Stop;
          end;
        end;

    Jak zrobisz tak


    try
    ....
    except
     Timer.Enabled := False;
     Odtwarzacz.Stop;
    end;

    to będzie załatwiało wszystkie wyjątki niezależnie od typu.
    Jak zrobisz tak


    try
    ....
    except
     on EStringListError do
      begin
       //kod 
      end;
     on EMCiDeviceError do
      begin
       //kod
      end;
    end;

    to będzie załatwiało oba za jednym razem. Aby kodu nie powielać dwukrotnie (bo dla obu typów wyjątków ma się robić to samo) możesz spróbować tak (nie jestem pewien czy przejdzie bo nie mam jak sprawdzić)


    try
    ....
    except
    on EStringListError or EMCiDeviceError do
     begin
      //kod;
     end;
    end;


    Update:
    To ostatnie nie działa. Za to zadziała w taki sposób:


    try
    ....
    except
     on E: exception do
      if (E is EStringListError) or (E is EMCiDeviceError ) then
       begin
         //obsługa tylko tych dwóch typów wyjątków
       end;
    end;

    dzięki
    Close na życzenie zakładającego temat (Petermechanic)
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • mandragora32.opx.pl
  • ďťż
    Wszelkie Prawa ZastrzeĹźone! chomiki Design by SZABLONY.maniak.pl.