-
Data: 2012-06-04 16:14:17
Temat: Re: Try catch, prawidłowy sposób użycia
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 4 Cze, 10:31, zażółcony <r...@c...pl> wrote:
> > Ja najchętniej korzystam z traksakcji z automatycznym rollbackiem,
> > wyzwalanym przez destruktor. Wtedy opcja B jest kompletnie bez sensu
>
> Czyli korzystasz ze wzorca projektowego RAII
Jeśli to tak nazwiesz, to wszyscy wiedzą, o co chodzi, ale specjalnie
tej nazwy nie użyłem, bo w odniesieniu do obsługi transakcji znaczenie
tego skrótu ma się nijak. Ale faktycznie chodzi o to samo.
> (nazwa niezbyt trafna, ale tak już zostało).
> Taką konstrukcję zastosujesz tylko w językach bez asynchronicznie
> działającego garbage collectora, tzn. w takich, w których masz jasno
> zdefiniowany moment odpalania konstruktora.
Destruktora. Nie ma problemu z garbage collectorem, może sobie być i
jedno i drugie. To, że Javie jest tylko jedno to wybór projektantów
języka a nie ograniczenia paradygmatyczne. GC nadaje się do obsługi
pamięci ale nie od obsługi interakcji ze światem zewnętrznym.
> > No właśnie - co to za język programowania?
>
> Jeden z języków, w którym nie masz możliwości zastosowania wzorca RAII.
Fuj. Powinni tego zakazać.
> Wyobraź sobie, że zamiast transakcji masz tam operację otwarcia pliku,
[...]
> Zauważ, że jeśli wrzucisz otwieranie po try, to potem w finally musisz
> się zastanawiać, czy robić close, czy nie (dodatkowy if). A tego właśnie
> chcemy uniknąć.
Ja tego unikam używając języków, gdzie mogę mieć normalne RAII. Bo
zastanawianie się, gdzie postawić begin względem try to odwracanie
uwagi od głównego zagadnienia, typowe dla języków niskiego poziomu.
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com
Następne wpisy z tego wątku
- 04.06.12 16:24 Edek Pienkowski
- 04.06.12 18:04 zażółcony
- 04.06.12 19:21 Edek Pienkowski
- 04.06.12 23:13 M.M.
- 04.06.12 23:19 M.M.
- 05.06.12 00:47 n...@m...invalid
- 05.06.12 07:25 Waldek M.
- 05.06.12 08:43 zażółcony
- 05.06.12 09:01 Edek Pienkowski
- 05.06.12 10:13 AK
- 05.06.12 10:16 AK
- 05.06.12 10:44 Stachu 'Dozzie' K.
- 05.06.12 11:41 zażółcony
- 05.06.12 12:36 Edek Pienkowski
- 05.06.12 14:52 n...@m...invalid
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-17 Zniknął list gończy za "Frogiem". Frog się nam odnalazł?
- 2025-01-17 Kto wytłumaczy "głupiemu" prezydentowi Dudzie wielką moc prawną "dekretu premiera" TUSKA? [(C)Korneluk (2025)]
- 2025-01-17 Warszawa => Inżynier oprogramowania .Net <=
- 2025-01-17 Natalia z Andrychowa
- 2025-01-17 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-17 Warszawa => System Architect (Java background) <=
- 2025-01-17 Warszawa => Full Stack .Net Engineer <=
- 2025-01-17 Gliwice => IT Expert (Network Systems area) <=
- 2025-01-17 Lublin => Programista Delphi <=
- 2025-01-17 Warszawa => Developer .NET (mid) <=
- 2025-01-17 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-01-17 Katowice => Senior Field Sales (system ERP) <=
- 2025-01-17 Wróblewo => Analityk finansowy <=
- 2025-01-17 Żerniki => Specjalista ds. Employer Brandingu <=
- 2025-01-17 pradnica krokowa