c++ και catch

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

c++ και catch

Δημοσίευσηαπό demosthenesk » 29 Νοέμ 2011, 19:45

Γεια σας και πάλι.

Στην εξερεύνηση μου στον όμορφο κόσμο της C++ ήρθα αντιμέτωπος με το εξής και θα ήθελα τα φώτα σας.

Έχω μια κλάση όπου μέσα σε κάποιο σημείο έχει το εξής:
Κώδικας: Επιλογή όλων
void Time::setTime( int h, int m, int s )
{
// validate hour, minute and second
if ( ( h >= 0 && h < 24 ) && ( m >= 0 && m < 60 ) && ( s >= 0 && s < 60 ) )
{
hour = h;
minute = m;
second = s;
} // end if
else
throw invalid_argument("hour, minute and/or second was out of range" );
} // end function setTime


Στην main τώρα που δημιουργώ ένα αντικείμενο Time έχω
Κώδικας: Επιλογή όλων

try
{
t.setTime( 99, 99, 99 ); // all values out of range
} // end try
catch ( invalid_argument &e )
{
cout << "Exception: " << e.what() << endl << endl;
} // end catch


Το παράδειγμα είναι από το βιβλίο C++ How to program του Deitel σελίδα 386.

Το Anjuta μου βγάζει ωστόσο το εξής λάθος.

έγραψε:/home/user/Documents/How_to_program_C/fig09_01/src/main.cpp:29:10: error: expected type-specifier before ‘invalid_argument’


Πως να χρησιμοποιήσω την catch?
Γνώσεις ⇛ Linux: Πολύ Καλό ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Μέτρια
Λειτουργικό: Ubuntu 10.04 LTS σε Fujitsu Siemens Amilo M6450
Προδιαγραφές ⇛ Intel(R) Pentium(R) M processor 1.70GHz │ 1,268 Gb │ Intel Corporation Mobile 915GM/GMS/910GML Express │ Intel Corporation PRO/Wireless 2200BG [Calexico2] │ - │ Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition │ Intel Corporation Mobile 915GM/GMS/910GML Express 1280X768
Άβαταρ μέλους
demosthenesk
punkTUX
punkTUX
 
Δημοσιεύσεις: 199
Εγγραφή: 09 Ιαν 2010, 17:39
Εκτύπωση

Re: c++ και catch

Δημοσίευσηαπό demosthenesk » 29 Νοέμ 2011, 20:04

παιδιά εντάξει το βρήκα.

έπρεπε να βάλω
#include <stdexcept> // for invalid_argument exception class

εκτός από την κλάση και στo main.cpp
Γνώσεις ⇛ Linux: Πολύ Καλό ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Μέτρια
Λειτουργικό: Ubuntu 10.04 LTS σε Fujitsu Siemens Amilo M6450
Προδιαγραφές ⇛ Intel(R) Pentium(R) M processor 1.70GHz │ 1,268 Gb │ Intel Corporation Mobile 915GM/GMS/910GML Express │ Intel Corporation PRO/Wireless 2200BG [Calexico2] │ - │ Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition │ Intel Corporation Mobile 915GM/GMS/910GML Express 1280X768
Άβαταρ μέλους
demosthenesk
punkTUX
punkTUX
 
Δημοσιεύσεις: 199
Εγγραφή: 09 Ιαν 2010, 17:39
Εκτύπωση


Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι