|
|
- //program.cpp
- #include<iostream>
- int
- main()
- {
- using namespace std;
- char myarray[10];
-
- try{
- for(int n = 0; n <= 10; n++){
- if(n > 9){
- throw "out of range";
- }
- myarray[n] = 'z';
- }
- }
- catch(char *str)
- {
- cout <<" excption:" << str << endl;
- }
-
- return 0;
- }
- g++ program.cpp
- .a.out
- aborted
- >gdb a.out
- program received signal SIGABRT, Aborted
- 0x42029241 in kill() form /lib/i686/libc.so.6
- >bt
- #0 0x42029241 in kill() from /lib/i686/libc.so.6
- #1 0x4202922a in raise() from /lib/i686/libc.so.6
- #2 0x4202a7d2 in abort() form /lib/i686/libc.so.6
- #3 0x40055b8b in __default_terminate() at ../../gcc/libgcc2.c:-1
- #4 0x40055baa in __terminater() from /usr/lib/libstdc++-libc6.2-2.so.3
- #5 0x400568e5 in throw_helper (eh = 0x40066960, pc = 0x42017498, my_udata = 0xbffff9a0, offset_p = 0xbffff9c)
- from /usr/lib/libstdc++-libc6.2-2.so.3
- #6 0x4005660a in __throw() from /usr/lib/libstdc++-libc6.2-2.so.3
- #7 0x08048843 in main()
- #8 0x42017499 in __libc__start_main() from /usr/lib/libstdc++-libc6.2-2.so.3
复制代码
初学C++,问题可能很幼稚,请大虾见亮
kill() 怎么会 发出 SIGABRT, 程序看来看去看不出毛病:( |
|