-
Data: 2019-05-08 15:32:30
Temat: Re: Ada Tutorial - w Instytucie Lotnictwa
Od: Wojciech Muła <w...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Tuesday, May 7, 2019 at 10:52:14 PM UTC+2, heby wrote:
> On 07/05/2019 21:15, Wojciech Muła wrote:
> > Zadanie dla chętnych: w ilu miejscach może tu polecieć wyjątek?
> > Type1 i Type2 to jakieś klasy dostarczone przez użytkownika,
> > nic o nich nie wiemy.
> >
> > Type1 fun(Type2 a, Type2 b)
> > {
> > if (a.get_value() > b.get_value()) {
> > return a.get_foo();
> > }
> >
> > return a.get_bar() + b.get_foo();
> > }
>
> Skoro nic o nich nie wiemy to obsługa tego wyjątku ma znaleźć się w
> kodzie który coś o Type1 i Type2 wie czyli pewnie poziom niżej. Inaczej
> kończysz na try {} catch(...) to jest jeszcze gorsze.
>
> Wyjątki nie łapie się po każdym dodawaniu. Łapie się tam gdzie wiadomo
> co z nimi zrobić.
Ale łapanie wyjątku to jest połowiczne rozwiązanie problemu. W szczególności,
jeśli wyjątek może pójść w dowolnym miejscu kodu (w tym przykładzie jest co
najmniej 13 miejsc, skąd może coś polecieć), to jaki będzie stan obiektu na
rzecz którego wołano metodę? Czy np. taki obiekt można bezpiecznie używać
dalej (stan wewnętrzny pozostał spójny)? Albo chociaż wywołać destruktor?
A co jeśli wyjątek leci z miejsca, o którym wierzyłeś, że nigdy nie poleci
i jednak dostajesz terminate?
w.
Następne wpisy z tego wątku
- 08.05.19 19:31 heby
- 08.05.19 19:51 heby
- 09.05.19 08:04 Maciej Sobczak
- 09.05.19 08:21 Maciej Sobczak
- 09.05.19 11:32 Roman Tyczka
- 09.05.19 18:19 heby
- 09.05.19 18:34 heby
- 09.05.19 19:29 Wojciech Muła
- 10.05.19 08:03 Maciej Sobczak
- 10.05.19 08:21 Maciej Sobczak
- 10.05.19 20:33 heby
- 10.05.19 21:00 heby
- 13.05.19 08:29 Maciej Sobczak
- 13.05.19 08:40 Maciej Sobczak
- 13.05.19 09:27 AK
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-21 Zgromadzenie użytkowników pojazdów :-)
- 2025-01-21 bateria na żądanie
- 2025-01-21 Warszawa => IT Business Analyst <=
- 2025-01-21 Warszawa => IT Assets Manager <=
- 2025-01-21 Warszawa => Presales / Inżynier Wsparcia Technicznego IT <=
- 2025-01-20 Białystok => Delphi Programmer <=
- 2025-01-20 Białystok => User Experience Designer <=
- 2025-01-20 Katowice => UX Designer <=
- 2025-01-20 Wrocław => Specjalista ds. Sprzedaży <=
- 2025-01-20 Białystok => Solution Architect (Java background) <=
- 2025-01-20 Szczecin => Senior Field Sales (system ERP) <=
- 2025-01-21 e-doręczenia
- 2025-01-20 Zbieranie podpisów przed sklepem
- 2025-01-20 cenzura internetu
- 2025-01-20 ulaskawienie