Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c++ > #6042

Re: like to know why it is segmentation fault on simple throw-exception program

From Victor Bazarov <v.bazarov@comcast.invalid>
Newsgroups comp.lang.c++
Subject Re: like to know why it is segmentation fault on simple throw-exception program
Date 2011-06-01 18:34 -0400
Organization A noiseless patient Spider
Message-ID <is6epo$kki$1@dont-email.me> (permalink)
References <fca61986-de7e-40b8-80e3-0a40633a3bf1@j13g2000pro.googlegroups.com> <94ns1jF12lU13@mid.individual.net>

Show all headers | View raw


On 6/1/2011 6:16 PM, Ian Collins wrote:
> On 06/ 2/11 10:01 AM, eric wrote:
>> Dear comp.lang.c++ reader or advced c++ programers:
>>
>> I copied a piece of code from page 397 of book (Practical C++
>> programming), example22-1, stack_e1.cpp
>> about Throwing an Exception.
>> after a little modification, it successfully compile on my gnu/g++/
>> ubuntuLinux system
>> but when i run it, it response
>> Segmentation fault
>
> Without digging too deep, this will get you in a whole heap of trouble:
>
> const int STACK_SIZE = 100; // Maximum size of a stack
>
> ..
>
> int data[STACK_SIZE]; // The items themselves
> ..
>
> for (i=0; i < 5000; i++) {
> test_stack.push(i);
>
> How big is data? How many items do you push?

The whole point of the exercise was to catch the "exceptional" situation 
in which _too much_ is pushed.  I am guessing you *did* need to dig a 
bit deeper (using your words).  See the original post again and try 
paying attention this time. :*)

>
> <code snipped>
>
> Also using exception specifiers is generally regarded as bad practice.

Really?

> It will land you in all sorts of problems if something you call throws
> some other exception type.

That can be too deep for the OP.  The inquiry looked very much like a 
homework (done by the OP, which is commendable), part of a C++ course, 
in which they *might* learn later that an exception specification is 
frowned upon by some c.l.c++ inhabitants.

V
-- 
I do not respond to top-posted replies, please don't ask

Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

like to know why it is segmentation fault on simple throw-exception program eric <cneric12lin0@gmail.com> - 2011-06-01 15:01 -0700
  Re: like to know why it is segmentation fault on simple throw-exception program Ian Collins <ian-news@hotmail.com> - 2011-06-02 10:16 +1200
    Re: like to know why it is segmentation fault on simple throw-exception program Victor Bazarov <v.bazarov@comcast.invalid> - 2011-06-01 18:34 -0400
      Re: like to know why it is segmentation fault on simple throw-exception   program Ian Collins <ian-news@hotmail.com> - 2011-06-02 10:44 +1200
        Re: like to know why it is segmentation fault on simple throw-exception   program Victor Bazarov <v.bazarov@comcast.invalid> - 2011-06-01 18:46 -0400
          Re: like to know why it is segmentation fault on simple throw-exception program eric <cneric12lin0@gmail.com> - 2011-06-01 20:07 -0700
            Re: like to know why it is segmentation fault on simple throw-exception program Paavo Helde <myfirstname@osa.pri.ee> - 2011-06-02 00:28 -0500
              Re: like to know why it is segmentation fault on simple throw-exception program Victor Bazarov <v.bazarov@comcast.invalid> - 2011-06-02 07:59 -0400
        Re: like to know why it is segmentation fault on simple throw-exception program red floyd <redfloyd@gmail.com> - 2011-06-02 11:20 -0700
  Re: like to know why it is segmentation fault on simple throw-exception program Victor Bazarov <v.bazarov@comcast.invalid> - 2011-06-01 18:44 -0400

csiph-web