eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingTry catch, prawidłowy sposób użyciaRe: Try catch, prawidłowy sposób użycia
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
    .pl!news.nask.org.pl!news.unit0.net!feeder1.cambriumusenet.nl!feed.tweaknews.nl
    !postnews.google.com!m10g2000vbn.googlegroups.com!not-for-mail
    From: Maciej Sobczak <s...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: Try catch, prawidłowy sposób użycia
    Date: Mon, 4 Jun 2012 07:14:17 -0700 (PDT)
    Organization: http://groups.google.com
    Lines: 46
    Message-ID: <d...@m...googlegroups.com>
    References: <jqfo4u$637$1@node2.news.atman.pl> <jqgjqf$2jr$1@inews.gazeta.pl>
    <s...@j...net> <jqgl1l$b49$1@inews.gazeta.pl>
    <a...@j...googlegroups.com>
    <jqhrpa$cb8$1@news.task.gda.pl>
    NNTP-Posting-Host: 195.182.34.254
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    X-Trace: posting.google.com 1338819585 14351 127.0.0.1 (4 Jun 2012 14:19:45 GMT)
    X-Complaints-To: g...@g...com
    NNTP-Posting-Date: Mon, 4 Jun 2012 14:19:45 +0000 (UTC)
    Complaints-To: g...@g...com
    Injection-Info: m10g2000vbn.googlegroups.com; posting-host=195.182.34.254;
    posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
    User-Agent: G2/1.0
    X-HTTP-UserAgent: Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101
    Firefox/7.0.1,gzip(gfe)
    Xref: news-archive.icm.edu.pl pl.comp.programming:197595
    [ ukryj 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: