try {…} catch {…}

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, np. 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, o ile będzie to zasadne, pozwolić na dalsze wykonanie się reguły.

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.

Was this article helpful?
0 out Of 5 Stars
5 Stars 0%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
How can we improve this article?
How Can We Improve This Article?