// C++ stdexcept Example //MinException.cc #include #include using namespace std; int minArray( int*, int ) throw (invalid_argument); int main() { int data[] = {4,3,2,1,0,5,6,7,8,9}; int size = sizeof(data)/sizeof(data[0]); cout << "C++ version: min is " << minArray( data, size ) << endl; int data1[] = {13}; int size1 = sizeof(data1)/sizeof(data1[0]); cout << "C++ version: min is " << minArray( data1, size1 ) << endl; int data2[] = {}; int size2 = sizeof(data2)/sizeof(data2[0]); cout << "C++ version: min of empty array result is"; //(C) try { minArray( data2, size2 ); } catch (invalid_argument e) { cout << " exception: " << e.what() << endl; } return 0; } // preconditions: a really is an int array // n really is the size of a // postconditions: if n < 1 throw invalid_argument // else return value is min value in a int minArray(int* a, int n) throw (invalid_argument) { if (n <1) throw invalid_argument("minArray: empty argument"); int min = a[0]; int i; for(i=1; i a[i]) { min = a[i]; } return min; }