Radim neki program u C++-u (na studentu) u kojem koristim exceptione. Program se uspjesno kompajlira, ali kod pokretanja mi baca gresku:
[code:1][student] [~/rp4] > g++ error.cpp -o error
[student] [~/rp4] > error
IOT trap
[student] [~/rp4] >[/code:1]
Evo i kod programa u kojem sam izolirao gresku:
[code:1]#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Greska {
private:
string text;
public:
Greska( const string &_text ) : text(_text) {};
string GetText() const { return text; }
};
class Stupac {
private:
vector<string> podaci;
public:
void AddPodatak( const string );
string GetPodatak( const vector<string>::size_type ) const;
};
void Stupac::AddPodatak( const string str ) {
podaci.push_back( str );
}
string Stupac::GetPodatak( const vector<string>::size_type i ) const {
if( i >= podaci.size() || i < 0 )
throw new Greska( "Index out of bounds." );
return podaci[i];
}
int main() {
Stupac stupac;
stupac.AddPodatak( "mirko" );
stupac.AddPodatak( "fodor" );
stupac.AddPodatak( "slavko" );
stupac.AddPodatak( "zeljko" );
try {
cout << stupac.GetPodatak( 18 );
}
catch( Greska e ) {
cerr << e.GetText() << endl;
}
return 0;
}
[/code:1]
Jel mi moze netko pojasniti sto znaci ova greska i u cemu sam pogrijesio?
Jel mi moze netko pojasniti sto znaci ova greska i u cemu sam pogrijesio?
_________________
~ Those who fear the Darkness have never seen what the Light can do! ~