Article View: pl.comp.lang.c
Article #795Re: Obsluga wyjatkow?
From: Radoslaw Gancarz
Date: Tue, 20 Jan 1998 14:31
Date: Tue, 20 Jan 1998 14:31
30 lines
1798 bytes
1798 bytes
Mikolaj Rydzewski <mrydzews@infoserv.ii.uj.edu.pl> wrote:
> Czesc!
> Mam pewien problem zwiazany z obsluga wyjatkow w C++. Chcialem sobie
> przechwycic wyjatek dzielenia przez zero i nic z tego nie wyniklo - tzn.
> wyniklo, ale przerwanie programu, a nie przechwycenie wyjatku. Jeszcze
> gorzej bylo z odwolaniem sie do pustego wskaznika. Testowalem to na c++ pod
> Linuxem i SunOS'em oraz na Visual C++ 4.0
> try
> { int x, y=0;
> x=x/y;
> }
> catch(...)
> { cout << "catch!" << endl;
> }
> A moze kod jest zly?
Z wyjatkami jest AFAIK tak ze aby je zlapac trzeba najpierw je zglosic :-).
Biblioteki matematyczne zwykle tego nie robia. Zamiast tego wysylany
jest sygnal ("man signal", pod linuxem rowniez "man 7 signal") SIGFPE -
wyjatek operacji zmiennopozycyjnych, ktory powinienes odpowiednio
obsluzyc (jak to zrobic to juz inny problem). Sygnaly sa chyba w ANSI C,
a na pewno sa w jakiejs normie POSIX.
--
1+-------------------------------------------------------------------------+1
2| Radoslaw Gancarz feanor@zeus.polsl.gliwice.pl |2
3+--------Zeby zadac pytanie, trzeba znac chociaz czesc odpowiedzi.--------+3
Technical Details
Message-ID:
<6a2cgp$7mf$1@galaxy.uci.agh.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!ict.pwr.wroc.pl!agh.edu.pl!not-for-mailReferences:
<6a1vod$noc$1@info.cyf-kr.edu.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!ict.pwr.wroc.pl!agh.edu.pl!not-for-mail From: Radoslaw Gancarz <feanor@zeus.polsl.gliwice.pl> Newsgroups: pl.comp.lang.c Subject: Re: Obsluga wyjatkow? Date: 20 Jan 1998 14:31:53 GMT Organization: Politechnika Slaska, Gliwice Lines: 30 Message-ID: <6a2cgp$7mf$1@galaxy.uci.agh.edu.pl> References: <6a1vod$noc$1@info.cyf-kr.edu.pl> NNTP-Posting-Host: zeus.polsl.gliwice.pl User-Agent: tin/pre-1.4-980105 (UNIX) (HP-UX/B.10.20 (9000/800)) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit