delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/04/28/00:18:27

From: Nils Lohmann <lohmann AT tu-harburg DOT d400 DOT de>
Newsgroups: comp.os.msdos.djgpp
Subject: exception-handling
Date: Mon, 27 Apr 1998 12:13:02 GMT
Organization: Technische Universtaet Hamburg-Harburg
Lines: 60
Message-ID: <19980427.12130299@MYHOSTNAME>
Reply-To: lohmann AT tu-harburg DOT d400 DOT de
NNTP-Posting-Host: s10.dialin.tu-harburg.de
Mime-Version: 1.0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

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.

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