delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/04/28/03:13:16

Date: Tue, 28 Apr 1998 10:13:48 +0200 (WET)
From: Andris Pavenis <pavenis AT lanet DOT lv>
To: Nils Lohmann <lohmann AT tu-harburg DOT d400 DOT de>
cc: djgpp AT delorie DOT com
Subject: Re: exception-handling
In-Reply-To: <19980427.12130299@MYHOSTNAME>
Message-ID: <Pine.A32.3.91.980428101051.38200B-100000@ieva06.lanet.lv>
MIME-Version: 1.0


On Mon, 27 Apr 1998, Nils Lohmann wrote:

> Does anybody know why teh following code taken out of  Stroustrup: Die 
> C++ 
> Programmiersprache  
> Terminates whith ABORT and doen't use the Exception Handler for range 
> errors.

Because exception support is broken in DJGPP port of gcc-2.8.0
(unless You add extra startup module and change linker script)

Will be fixed in port of gcc-2.8.1. Should be out soon. 

> 
> Compiler : DJGPP, GCC2.80, CWSDPMI V4.0
> ---------------------------------------------------------
> #include<iostream>
> 
> class Range_error
> {
> public:
>     int i;
> 
>     Range_error(int ii)
>     {
>         i=ii;
>     }
> };
> 
> char to_char(int i)
> {
>     char c=i&static_cast<unsigned char>(-1);
>     if (i!=c)throw Range_error(i);
>     return(c);
> }
> 
> 
> void main()
> {
>     while (true)
>         {
>             cout<<endl<<"Bitte eine Zahl eingeben ";
>             int i;
>             cin>>i;
>             try 
>                 {
>                     char c =to_char(i);
>                     cout<<endl<<"Eingegeben wurde "<<c;
>                 }
>             catch (Range_error x)
>                 {
>                     cerr<<"Huch:to char("<<x.i<<")\n";
>                 }
>         }
> }
> 
> 
> 
>  
>         -- 
> Nils Lohmann                            Tel.:  +49 4161 2968
> Nils Lohmann                            Fax:   +49 4161 2968
> Bahnhofstr. 45c, 21614 Buxtehude        eMail: lohmann AT tu-harburg DOT de
> 
> 
> 
> 

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019