Raise
Adam Boduch
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ż:
pootek dobrze prawi.
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ę.