社区
系统维护与使用区
帖子详情
g++不支持异常处理 ?
yangrunhua
2000-02-15 05:11:00
有如下:
try
{
char *buffer=new char[1000000000];
if (buffer==NULL)
throw "out of memory";
}
catch(char*string)
{
cout<<string<<endl;
}
运行时竟然结果不是输出out of memory而是Aborted(core dumped)
Why?
...全文
461
7
打赏
收藏
g++不支持异常处理 ?
有如下: try { char *buffer=new char[1000000000]; if (buffer==NULL) throw "out of memory"; } catch(char*string) { cout<<string<<endl; } 运行时竟然结果不是输出out of memory而是Aborted(core dumped) Why?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chenshuishui
2001-05-31
打赏
举报
回复
同意jansenzhu(),直接试一下
try
{
throw "out of memory";
}
catch(char*string)
{
cout<<string<<endl;
}
skt642
2001-05-31
打赏
举报
回复
67017关注!
茂奇软件
2000-02-20
打赏
举报
回复
[1000000000];
perhaps the interage have overfollow.
you can try it directly.
try
{
throw "out of memory";
}
catch(bad_alloc e) //也可以catch(exception e),e.what()报的信息不同
{
cout<<e.what()<<endl;
}
catch(char*string)
{
cout<<string<<endl;
}
netmare
2000-02-16
打赏
举报
回复
我在linux下试了一下,sintony说的有理,是new时系统throw的异常.
netmare
2000-02-16
打赏
举报
回复
在linux下将程序改为
#include <exception> //注意是exception而不是exception.h
#include <new>
try
{
char *buffer=new char[1000000000];
if (buffer==NULL)
throw "out of memory";
}
catch(bad_alloc e) //也可以catch(exception e),e.what()报的信息不同
{
cout<<e.what()<<endl;
}
catch(char*string)
{
cout<<string<<endl;
}
sintony
2000-02-15
打赏
举报
回复
因为char *buffer=new char[1000000000];
本身就throw "Aborted(core dumped)"
你catch 的是系统的出错信息
netmare
2000-02-15
打赏
举报
回复
core dump可能发生在catch之后,因为cout是带缓冲的,所以未显示出来,用cerr试试.
从你的程序看,catch时除了显示错误信息后未作其他处理,若在catch之后又使用了buffer就会core dump了
gcc
g++
离线安装包
使用
G++
可以编译、链接C++程序,同时提供了许多现代C++特性,如模板、
异常处理
和STL(Standard Template Library)等。 **离线安装GCC和
G++
**: 离线安装通常涉及下载预先构建好的软件包,然后在目标系统上进行手动...
统信UOS 用
g++
( 64 位)
C++是一种面向对象的编程语言,它扩展了C语言的功能,提供了类、对象、模板、
异常处理
等高级特性。使用
g++
编译C++程序时,通常的步骤包括预处理、编译、汇编和链接。 1. 预处理:
g++
会处理#include指令,展开宏定义...
gcc和
g++
的区别
G++
实际上是一个前端程序,专门用于处理C++源代码,而GCC则是一个更广泛的编译器集合,
支持
多种编程语言,包括C、C++、Objective-C、Fortran、Ada等。 误区一:GCC只能编译C代码,
G++
只能编译C++代码 这个观点是不...
gnu
g++
源码 libstd
g++
在这个过程中,
G++
利用了GCC的前端技术,能够
支持
多种编程语言,并且对C++的模板、多态、
异常处理
等特性有良好的
支持
。 Libstdc++是
G++
的关键组成部分,它是C++标准库的实现,包括了iostream、algorithm、vector、...
Gcc和
G++
编译器的完美绍
- **
异常处理
**:提供 try/catch 机制来处理程序中的异常情况。 - **命名空间**:用于组织和隔离代码,避免命名冲突。 - **标准模板库(STL)**:提供了丰富的容器、算法和迭代器等功能。 - **自动类型推断**:通过 `...
系统维护与使用区
19,615
社区成员
74,587
社区内容
发帖
与我相关
我的任务
系统维护与使用区
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
复制链接
扫一扫
分享
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章