-
X-Received: by 2002:a37:db0a:: with SMTP id e10mr14463343qki.273.1586027425035; Sat,
04 Apr 2020 12:10:25 -0700 (PDT)
X-Received: by 2002:a37:db0a:: with SMTP id e10mr14463343qki.273.1586027425035; Sat,
04 Apr 2020 12:10:25 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin2!goblin.
stu.neva.ru!aioe.org!peer01.am4!peer.am4.highwinds-media.com!peer02.iad!feed-me
.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.c
om!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Sat, 4 Apr 2020 12:10:24 -0700 (PDT)
Complaints-To: g...@g...com
Injection-Info: google-groups.googlegroups.com; posting-host=213.108.152.51;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 213.108.152.51
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <5...@g...com>
Subject: Czy biblioteka powinna rzucać wyjątki?
From: Maciej Sobczak <s...@g...com>
Injection-Date: Sat, 04 Apr 2020 19:10:25 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3516
X-Received-Body-CRC: 1341168604
Xref: news-archive.icm.edu.pl pl.comp.programming:214809
[ ukryj nagłówki ]Chyba w miarę upływu czasu zmieniają się oczekiwania użytkowników oraz mody wśród
autorów bibliotek.
Pytanie: jakie macie oczekiwania wobec bibliotek? Mają rzucać wyjątki?
Różne języki mają różne konwencje, ale nawet jeden język potrafi mieć różne polityki
w zależności od tego, jaki jest charakter wywoływanej funkcji.
Np. C++ rzuci wyjątkiem z operatora new, jeśli nie ma pamięci. Z tego powodu wyjątek
poleci też z każdej innej funkcji biblioteki std, ale nie każde niepowodzenie jest
tak zgłaszane. Np. błąd odczytu pliku albo błąd formatu danych w IOStreams już
wyjątkiem nie będzie.
Czy to jest zgodne z oczekiwaniami? Czy te oczekiwania zależą od rodzaju biblioteki?
Że np. akceptujemy wyjątek z biblioteki GUI, ale już z biblioteki I/O (jak IOStreams)
lepiej mieć status? A może jest inaczej?
Spotkałem się też z opinią, że biblioteka nie powinna rzucać wyjątków, bo w ten
sposób narzuca ten aspekt interfejsu aplikacji - ale już aplikacja końcowa może sobie
korzystać z wyjątków (które sama sobie zdefiniuje, sama rzuci i sama złapie), bo
nikomu innemu tego nie narzuca. Przyznam, że ten pogląd mnie zaintrygował
najbardziej, chociaż nie widzę możliwości jego konsekwentnego zastosowania wszędzie
(patrz choćby wspomniany operator new).
Są też języki, które używają wyjątków do zgłaszania wykroczeń poza ograniczenia
systemu typów (do tego zaliczam przekroczenia zdefiniowanych zakresów, wyjazd poza
tablicę, itp.). Nie widzę tego bez wyjątków. Ale powstaje też pytanie, na ile użycie
nieistniejącego indeksu w tablicy jest podobnym zjawiskiem do np. próby skorzystania
z nieistniejącego zasobu URL w sieci - i w jakim stopniu zgłaszanie takich błędów
powinno być podobne.
Itp., itd., etc.
Jak to widzicie obecnie? W C++? Gdzie indziej?
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 04.04.20 21:51 Mateusz Viste
- 05.04.20 23:31 Maciej Sobczak
Najnowsze wątki z tej grupy
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
Najnowsze wątki
- 2025-08-19 UWAGA na scam: diperson_com
- 2025-08-19 UWAGA na scam: diperson_com
- 2025-08-15 Co to za dziwne "białe namioty" co stawiają je w różnych dziwnych miejscach?!?
- 2025-08-11 Francuska elektrownia atomowa zamknięta. Powodem "nieprzewidywalny" rój meduz
- 2025-08-14 bateria 6000mAh
- 2025-08-11 ,,dwie za 25" - Gadająca papuga wsypała gang handlarzy narkotyków
- 2025-08-11 Zhakowano eSIMy! Ale (na razie) się nie martw
- 2025-08-18 ZIELONA ENERGIA ZARZYNA NIEMIECKĄ GOSPODARKĘ. GWIAZDOWSKI KOMENTUJE
- 2025-08-18 Estakada w Chorzowie
- 2025-08-15 otwarcie obwodnicy Lęborka
- 2025-08-14 zjebane małe ronda
- 2025-08-14 JAK NIE SPŁONĄĆ W ELEKTRYKU?
- 2025-08-14 Kostomłoty
- 2025-08-12 Ceny badań technicznych w górę i to już od września - nagłe przyspieszenie Ministerstwa!
- 2025-08-11 Transponder RFID