Niekiedy w komunikacji zdarzają się błędy: serwer może rozłączyć połączenie, ponieważ nie jest ono autoryzowane lub wiadomość ma nieprawidłowy format. Istnieją 2 zdarzenia przechwytujące błędy.
To zdarzenie jest wywoływane za każdym razem, gdy wystąpi błąd protokołu WebSocket, taki jak nieprawidłowy typ wiadomości, nieprawidłowy ciąg utf8 itp.
procedure OnError(Connection: TsgcWSConnection; const Error: string);
begin
WriteLn('#error: ' + Error);
end;
To zdarzenie jest wywoływane za każdym razem, gdy wystąpi wyjątek, na przykład podczas zapisu do nieaktywnego gniazda lub uzyskiwania dostępu do nieistniejącego obiektu.
procedure OnException(Connection: TsgcWSConnection; E: Exception);
begin
WriteLn('#exception: ' + E.Message);
end;
Domyślnie, gdy połączenie jest zamykane przez serwer, zostaje zgłoszony wyjątek. Jeśli nie chcesz, aby te wyjątki były zgłaszane, wyłącz Options.RaiseDisconnectExceptions.