int f(int x, int y, int z) { int area1 = area(x,y); if (area1 <= 0) error("non-positive area\n"); int area2 = framed_area(1,z); int area3 = framed_area(y,z); double ratio = double(area1)/area3; // ...program doesn't compile since this doesn't return anything }
int main() { int x = -1; int y = 2; int z = 4; //... int area1 = area(x,y); int area2 = framed_area(1,z); int area3 = framed_area(y,z); double ratio = double(area1)/area3; //convert to double to get floating-point division }
int f(int x, int y, int z) { cout << "x=" << x << "; y=" << y << "; z=" << z << endl; int area1 = area(x,y); if (area1<=0) error("non-positive area"); int area2 = framed_area(1,z); int area3 = framed_area(y,z); double ratio = double(area1)/area3; // ... cout << "area1=" << area1 << endl << "area2=" << area2 << endl << "area3=" << area3 << endl; }
int main() { int x = -1; int y = 2; int z = 4; int area1 = area(x, y); if (area1 <= 0) error("non-positive area"); int area2 = framed_area(1, z); int area3 = framed_area(y, z); double ratio = double(area1) / area3; cout << ratio << endl; return 0; }
int main() try { int x = -1; int y = 2; int z = 4; int area1 = area(x, y); int area2 = framed_area(1, z); int area3 = framed_area(y, z); double ratio = double(area1) / area3; cout << ratio << endl; return 0; } catch (Bad_area) { cout << "Oops! bad arguments to area()\n"; }
int main() try { int x = -1; int y = 2; int z = 4; // ... int area1 = area(x,y); int area2 = framed_area(1,z); int area3 = framed_area(y,z); double ratio = double(area1)/area3; // convert to double to get // floating-point division } catch (exception& e) { cerr << "error: " << e.what() << '\n'; return 1; } catch (...) { cerr << "Oops: unknown exception!\n"; return 2; }
int f(int x, int y, int z) { //a handling of error is in the //calling function int area1 = area(x,y); if (area1 == -1) error("bad argument for area()"); int area2 = framed_area(1,z); if (area2 == -1) error("bad argument for framed_area()"); int area3 = framed_area(y,z); if (area3 == -1) error("bad argument for framed_area()"); if (area3 == 0) error("area3 is equal 0"); double ratio = double(area1)/area3; cout << "area1 == " << area1 << endl << "area2 == " << area2 << endl << "area3 == " << area3 << endl << "ratio == " << ratio << endl; }