cpp:exception_rethrow
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
cpp:exception_rethrow [2019/05/06 08:41] – [Διαχείριση εξαίρεσης και παραγωγή νέας εξαίρεσης κατά τη διαχείριση της] gthanos | cpp:exception_rethrow [Unknown date] (current) – external edit (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Line 42: | Line 42: | ||
for(int row=0; row< | for(int row=0; row< | ||
for(int col=0; col< | for(int col=0; col< | ||
- | | + | |
red = (unsigned char) atoi(str.c_str()); | red = (unsigned char) atoi(str.c_str()); | ||
- | | + | |
green = (unsigned char) atoi(str.c_str()); | green = (unsigned char) atoi(str.c_str()); | ||
- | | + | |
blue = (unsigned char) atoi(str.c_str()); | blue = (unsigned char) atoi(str.c_str()); | ||
raster[row][col] = 0; | raster[row][col] = 0; | ||
Line 73: | Line 73: | ||
try{ | try{ | ||
imgptr = new PPMImage(argv[1]); | imgptr = new PPMImage(argv[1]); | ||
+ | delete imgptr; | ||
} | } | ||
catch(ios_base:: | catch(ios_base:: | ||
Line 79: | Line 80: | ||
catch(bad_alloc &ex) { | catch(bad_alloc &ex) { | ||
cerr << " | cerr << " | ||
- | if (imgptr!=nullptr) | + | if (imgptr!=nullptr) |
cerr << " | cerr << " | ||
+ | delete imgptr; | ||
+ | } | ||
else | else | ||
cerr << " | cerr << " | ||
} | } | ||
- | delete imgptr; | ||
return 0; | return 0; | ||
} | } | ||
Line 98: | Line 100: | ||
</ | </ | ||
- | Από τον παραπάνω κώδικα μπορούμε να συμπεράνουμε τα εξής: | + | Από τον παραπάνω κώδικα μπορούμε να συμπεράνουμε |
- | - Εφόσον παράγεται ένα // | + | |
- | - Εάν εφαρμόσω τον τελεστή **delete** σε ένα δείκτη που έχει την τιμή **nullptr**, | + | |
===== Παραλλαγή του παραπάνω παραδείγματος ===== | ===== Παραλλαγή του παραπάνω παραδείγματος ===== | ||
cpp/exception_rethrow.1557132115.txt.gz · Last modified: 2019/05/06 07:41 (external edit)