Δημοσιεύτηκε: 29 Νοέμ 2011, 19:45
Γεια σας και πάλι.
Στην εξερεύνηση μου στον όμορφο κόσμο της C++ ήρθα αντιμέτωπος με το εξής και θα ήθελα τα φώτα σας.
Έχω μια κλάση όπου μέσα σε κάποιο σημείο έχει το εξής:
Στην main τώρα που δημιουργώ ένα αντικείμενο Time έχω
Το παράδειγμα είναι από το βιβλίο C++ How to program του Deitel σελίδα 386.
Το Anjuta μου βγάζει ωστόσο το εξής λάθος.
Πως να χρησιμοποιήσω την catch?
Στην εξερεύνηση μου στον όμορφο κόσμο της 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?