Re: like to know why it is segmentation fault on simple throw-exception
program
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