1) Pourquoi Windows ne passe pas pour le catch lorsque j'ai l'erreur au 2) (je n'ai aucun fichier de sortie et même avec des cout, je ne vois rien, et l'option des exception est activée dans les propriétés).
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32 #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <math.h> #include <iostream> #define MAX_ITERATION 5000000 #include <exception> int _tmain(int argc, _TCHAR* argv[]) { double * r; char c; unsigned int i = 0; try { r = new double[MAX_ITERATION]; if(r != NULL) { for( i = 0 ; i < MAX_ITERATION ; ++i) r[i] = rand(); delete [] r; } }catch(std::exception e) { std::cout << e.what() << std::endl; return 0; } std::cin >> c; return 0; }
2) Pourquoi ai-je l'erreur : "0xC0000005: Access violation reading location 0x00030000."
3) Pourquoi maintenant que je le refait, je n'ai pas d'erreurs? (je n'ai rien changé pour les mauvaises langues)
Partager