try {…} catch {…}
Wprowadzenie
W systemie AMODIT pojawiła się nowa konstrukcja w języku reguł – try {…} catch {…}. Konstrukcja ta daje możliwość projektantowi procesu wyłapania błędu (ang. exception) i podjęcia decyzji, co dalej zrobić w takiej sytuacji.
Opis działania konstrukcji try {…} catch {…}
Konstrukcja try {…} catch {…} daje możliwość projektantowi procesu wyłapania błędu (ang. exception) i podjęcia decyzji, co dalej zrobić w takiej sytuacji, np. może wyświetlić użytkownikowi co najmniej komunikat funkcją ShowMessage() o nietypowym/wyjątkowym działaniu reguły.
Dodatkową cechą konstrukcji try {…} catch {…} jest to, że nie jest przerywane działanie reguły. Dotychczas jeśli podczas wykonywania reguły wystąpił nieoczekiwany błąd, dalsze działanie takiej reguły było przerywane i zazwyczaj użytkownik nie miał możliwości zareagowania. Stosując wspomnianą konstrukcję językową projektant procesu może obsłużyć sytuację błędną i pozwolić na dalsze wykonanie się reguły, o ile będzie to zasadne.
Przykład użycia
try { a = ExecuteSQL("DSN=XXX","select top 1 kolumna_1 from jakas_tabela"); } catch { ShowMessage(2,"Nastąpił wyjątek przy wykonaniu zapytania SQL: " + exception); }
W powyższym fragmencie kodu reguły konstrukcją try {…} catch {…} zostało „obwarowane” wywołanie zapytania SQL do zewnętrznej bazy danych. Jeżeli w trakcie takiego wywołania okazałoby się, że przykładowo baza danych nie jest dostępna (brak połączenia z serwerem bazy danych), to wystąpi błąd/wyjątek w działaniu funkcji ExecuteSQL(), a treść tego wyjątku zostanie umieszczona w zmiennej exception. W tym przykładzie komunikat błędu zostanie wyświetlony użytkownikowi.
Funkcjonalność dostępna od wersji 220630 systemu AMODIT.