Bonjour,

A chaque fois que il y a un "new" dans un programme, faut-il mettre un "catch(std::bad_alloc)" ?

J'ai fait ce prog:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
int main()
{
	int *p;
	try
	{
		while(1)
		{
			p = new int[3000];
		}
	}catch(bad_alloc)
	{
		cout<<"plus de memoire"<<endl;
	}
	return 0;
}
Voici le résultat sur linux:
localhost:/home/zenux# ./a.out
Processus arrêté

Il ne m'a même pas affiché "plus de mémoire" !!!

Merci...