Iznimke
prosljeđivanje po referenci i
upotreba virtualnih funkcija
Primjer 05
class Array
{
...
class xSize()
{
...
virtual void PrinterError(){ cout << “size Error”; }
};
class xTooBig : public xSize
{
...
virtual void PrintError() {
cout << “TooBig ”
<< itsSize; }
};
};
class xTooSmall : public xSize
{
...
virtual void PrintError() {
cout << “TooSmall ”
<< itsSize; }
};
};
Array::Array(int size):itsSize(size)
{
if(size>30000) throw xTooBig(size);
if(size==0) throw
xTooSmall(size);
...
}
...
try
{
...
}
catch (Array::xSize&
theException)
{
theException.PrintError();
}
...