returning error on if/else in function

i overloaded the operator '-' to subtract 2 Distances. i dont want to accept negative distance so how do i exit the function? i tried "return -1;" but the return type is of type Distance. do i have to do the error checking in main?

Code:

`Distance Distance::operator - (Distance d2) const //return difference`

{

int f = feet - d2.feet; //subtract feet

float i = inches - d2.inches; //subtract inches

if(i < 0)

{

--f;

i = 12 - (i * -1);

}

if(f < 0)

{

cout << "Error: Negative Distance." << endl; //this line doesnt print for some reason

return Distance(0,0.0);

}

else

return Distance(f,i);

}