eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming[vfp] Dylemat: 'on error' czy 'try catch' - rozbija się o 'stack trace info'.[vfp] Dylemat: 'on error' czy 'try catch' - rozbija się o 'stack trace info'.
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news-1.dfn.de!ne
    ws.dfn.de!newsfeed.straub-nv.de!feeder.news-service.com!tudelft.nl!txtfeed1.tud
    elft.nl!feeder1.cambriumusenet.nl!feed.tweaknews.nl!209.197.12.242.MISMATCH!nx0
    1.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-01.news.n
    eostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mai
    l
    From: "sielim" <s...@t...tez.wp.pl>
    Newsgroups: pl.comp.programming
    Subject: [vfp] Dylemat: 'on error' czy 'try catch' - rozbija się o 'stack trace
    info'.
    Date: Thu, 22 Sep 2011 10:03:46 +0200
    MIME-Version: 1.0
    Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=original
    Content-Transfer-Encoding: 8bit
    X-Priority: 3
    X-MSMail-Priority: Normal
    X-Newsreader: Microsoft Outlook Express 6.00.2900.5931
    X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6109
    Lines: 43
    Message-ID: <4e7aebe2$0$2453$65785112@news.neostrada.pl>
    Organization: Telekomunikacja Polska
    NNTP-Posting-Host: 83.14.249.194
    X-Trace: 1316678626 unt-rea-a-01.news.neostrada.pl 2453 83.14.249.194:1801
    X-Complaints-To: a...@n...neostrada.pl
    Xref: news-archive.icm.edu.pl pl.comp.programming:192458
    [ ukryj nagłówki ]

    Jak wiedzą programiści Visual Fox Pro - wyjątek przechwycony w 'catch' nie
    zawiera informacji o stack trace (jedynie
    podstawowe informacje o miejscu wystąpienia). Dla kogoś, kto równocześnie
    programuje w językach takich
    jak Java jest to duża strata.

    Problem z brakiem informacji o stosie wywołań łatwiej rozwiązać stosując
    stary mechanizm
    obsługi przez 'on error <funkcja obsługi>'. W takiej sytuacji program po
    wystąpieniu błędu
    natychmiast wchodzi do funkcji obsługi i jeśli użyjemy wewnątrz ASTACKINFO
    to
    mamy dokładny pogląd na stos wywołań (trzeba tylko uważać na to, że niektóre
    stare
    konstrukcje fox pro te informacje zaburzają, np 'read cycle').

    Od jakiegoś czasu kombinuję, jak te dwie sprawy połączyć - stosować 'try ...
    catch'
    ale nie gubić info o stosie. Niestety 'catch...' ma wyższy priorytet niż 'on
    error', więc
    zastosowanie obu mechanizmów jednocześnie nie daje oczekiwanych rezultatów
    - zawsze wpierw jest wejście w 'catch' i informacja na stosie pokazuje
    miejsce
    przechwycenia wyjątku a nie jego wystąpienia.

    Próbowałem zastosować 'catch when ...' do tego, żeby przepuszczać mechanizm
    obsługi do funkcji obsługi błędu a potem, po zapamiętaniu stosu spróbować
    np.
    'retry', żeby wrócił to catch'a (warunek 'when' za drugim razem już zwraca
    .T.).
    Niestety nic z tego. Po pierwsze sam fakt, że przeszedł przez 'catch when'a
    już zmienia informację na stosie, po drugie retry też już nie wraca w
    miejsce wystąpienia
    błędu - nie ma ponownego wejścia w when'a.

    Ktoś wie może, jak problem rozwiązać, ma jakieś pomysły ? Na chwilę obecną
    wychodzi mi na to, że jakikolwiek 'catch' na drodze procedur obsług błedów
    niszczy informację o stosie a niestety nie wiem, jak zmusić fox'a, żeby
    priorytetowo
    wskoczył w funkcję obsługi zdefiniowaną 'on error', a dopiero potem zaczął
    się
    wycofywać po stosie catch'y.

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: