Wyjątki w Pascalu

0

Witam!! Interesuje mnie czy w pascalu istnieje jakakolwiek obsługa wyjątków?
Może istnieje jakiś moduł z odpowiednimi procedurkami, czy coś takiego...
Słyszałem, że można w jakiś sposób zaimportować takową obsługę bodajże z Delphi, ale nic więcej o ty mnie wiem. Pomóżcie, plis.

0

Zapomnij.

Przy okazji w ogóle nie rozumiem idei wyjątków... To próba ratowania programu po tym jak już sie dopuściło do powstania ewidentnego błędu. Przecież łatwo sprawdzić, czy dzielna nie jest równa 0, czy system ma odpowiednio wiele pamięci, użyć val zamiast inttostr i przy {$i-} normalnie po ludzku obsłużyć błędy i/o. Wiele trudu to nie kosztuje, a odchudza sporo programy.

0

Zapomnij.

Przy okazji w ogóle nie rozumiem idei wyjątków... To próba ratowania programu po tym jak już sie dopuściło do powstania ewidentnego błędu. Przecież łatwo sprawdzić, czy dzielna nie jest równa 0, czy system ma odpowiednio wiele pamięci, użyć val zamiast inttostr i przy {$i-} normalnie po ludzku obsłużyć błędy i/o. Wiele trudu to nie kosztuje, a odchudza sporo programy.

Tylko na pierwszy rzut oka.. jednak klasa ta jest nieoceniona gdy w grę wchodzi obsługą wątków (TThread) w połączeniu z usługami Internetowymi (np. wykrycie rozłączenia w pakiecie INDY - klient TCP - jest właśnie wyjątkiem [ Exception ] - można go wyłapać i zrobić sobie obsługę tego.

// przecież nikt ci nie każe uzywać indy. Sockety wracają normalnie. :> Napisz swoje z normalną obsługą ;] Nie bedzie gorsze [mf]

// można..ale nie trzeba. Nie rozumiem skąd Twoje wręcz obrzydzenie do wątków - dzieki nim wielokrotnie mozna sprawdzić błędne dane - łatwo je obsługiwać, przekazywać te dane.. a nie męczyć się ze żmdnym sprawdzeniam - deti

// nie wątków... wyjątków ;] [mf]

// miałem na myśli.. przejęzyczenie :) - deti

0

No dobra to może inaczej :) . Napisałem program rysujący wykresy funkcji. Problem w tym ze rysuje (poprawnie) wykresy funkcji tylko ciaglych. Chodzi mi o to ze jezeli moj program napotkalby blad (m. in. punkty nieciągłości), to zeby mi o tym powiedzial i przeszedł np. dalej a nie sie wysypywal

0

Przy okazji w ogóle nie rozumiem idei wyjątków... To próba ratowania programu po tym jak już sie dopuściło do powstania ewidentnego błędu.

A nieprawda. Spróbuj w łatwy sposób wyjść w dowolnym momencie z zagnieżdżonych pętli, albo ze wszystkich instancji rekurencji - bez wyjątków jest to trochę zagmatwane.

Chodzi mi o to ze jezeli moj program napotkalby blad (m. in. punkty nieciągłości), to zeby mi o tym powiedzial i przeszedł np. dalej a nie sie wysypywal

Co za problem... sprawdź przed wykonaniem operacji, czy nie wrzucasz do funkcji nieprawidłowych wartości - tzn. czy nie dzielisz przez zero, czy pierwiastek/logarytm aby nie z ujemnej liczby i arcsin/arccos wartości poza -1..1. Co w tym trudnego?

0

Żeby to było takie proste...
Postępując tak, jak mówisz, musiałbym przy każdej zmianie wzoru funkcji zmieniać owe sprawdzenia...
Mi chodzi o to by dla dowolnej funkcji program generował błędy obliczeń, jeżeli takowe wystąpią

1 użytkowników online, w tym zalogowanych: 0, gości: 1