Raise

raise - słowo kluczowe języka Delphi

Słowo kluczowe raise służy do tworzenia klasy wyjątku. Spójrzmy na poniższy kod:

  if Length(myEdit.Text) = 0 then
    raise Exception.Create('Wpisz jakiś tekst w polu myEdit!');


W przypadku gdy użytkownik nic nie wpisze w polu myEdit, zostanie wygenerowany wyjątek. Wyjątki są generowane za pomocą klasy Exception. Na razie należy zapamiętać, że słowo raise umożliwia generowanie wyjątków poza blokiem try..except.

Pozostawienie słowa raise samego, jak w poniższym przypadku, spowoduje wyświetlenie domyślnego komunikatu o błędzie:

try
  { jakieś funkcje }
except
  raise;
end;


Jeżeli w tym przypadku w bloku try znajdą się instrukcje, które doprowadzą do wystąpienia błędu, to słowo kluczowe raise spowoduje wyświetlenie domyślnego komunikatu o błędzie dla tego wyjątku.
Nie można jednak używać samego słowa raise poza blokiem try..except ? w takim przypadku zostanie wyświetlony komunikat o błędzie: [Error] Unit1.pas(29): Re-raising an exception only allowed in exception handler.

Zobacz też:
Informacje
Ostatnia modyfikacja 15-01-2006 17:02 Ostatni autor Adam Boduch
Ilość wyświetleń 5902 Wersja 1
Komentarz
pootek dnia 14-09-2008 15:08
Może coś nie tak myślę, ale słownictwo użyte w tym artykule jest raczej nieodpowiednie.
Jeśli się nie mylę, słówko raise odpowiada throw z języka C. Jeśli tak, to raise rzuca wyjątek, a nie "tworzy klasę wyjątku". Ponadto samo słówko raise nie wyświetla wtedy żadnego domyślnego komunikatu, lecz ponownie wyrzuca złapany wyjątek, umożliwiając jego obsługę w bloku wyższego poziomu.
Mogę się mylić, ale nie wydaje mi się.

Copyright © 2000-2006 by Coyote Group 0.9.3-pre3
Czas generowania strony: 0.0216 sek. (zapytań SQL: 9)