37 lines
758 B
C++
37 lines
758 B
C++
// exception 的使用
|
||
// invalid_argument: 用于处理无效参数异常
|
||
#include <iostream>
|
||
#include <cstdlib>
|
||
#include <exception>
|
||
#include <cstdio>
|
||
|
||
using namespace std;
|
||
|
||
int maxVal(int a, int b)
|
||
{
|
||
if (a == b)
|
||
{
|
||
char msg[100];
|
||
sprintf(msg, "两个参数不能相等,a = %d, b = %d", a, b);
|
||
throw invalid_argument(msg);
|
||
}
|
||
return a > b ? a : b;
|
||
}
|
||
|
||
int main(int argc, char const *argv[])
|
||
{
|
||
int a = atoi(argv[1]);
|
||
int b = atoi(argv[2]);
|
||
|
||
try
|
||
{
|
||
int ret = maxVal(a, b);
|
||
cout << "maxValue is " << ret << endl;
|
||
}
|
||
catch (exception &error)
|
||
{
|
||
cout << "error: " << error.what() << endl; // what() 返回异常信息,异常信息是一个字符串
|
||
}
|
||
|
||
return 0;
|
||
} |