Exception異常理解
2359 ワード
// :exception n. ; , ; ;
/* exception , , , */
#include "pch.h"
#include
// , , throw, exception
void compare_two_number(int a, int b) {
if (a < 0 || b < 0)
throw ("std::out_of_range");
else {
std::cout << ((a > b) ? a:b) << std::endl;
}
}
//
void compare_two_num(int a, int b) {
while (1) {
int a1, b1;
a1 = a;
b1 = b;
if (a1 < 0 || b1 < 0)
{
std::cout << " , " << std::endl;
std::cout << " " << std::endl;
std::cin >> a1;
std::cout << " " << std::endl;
std::cin >> b1;
compare_two_num(a1, b1);
break; // : break , , while
}
else {
std::cout < b) ? a : b) << std::endl;
break;
}
}
}
int main()
{
//exception
// , ,
//1. ,
compare_two_number(2, 3);
//2.
//compare_two_number(-1, 3); // , , exception ,
//
//3.
//try {
// compare_two_number(-2, 2);
//}
//catch (...) {
// //...
// std::cout << " , " << std::endl;
// int a, b;
// std::cout << " " << std::endl;
// std::cin >> a;
// std::cout << " " << std::endl;
// std::cin >> b;
// compare_two_number(a, b);
//}
/* , */
//4. ,
try {
compare_two_number(-2, 2);
}
catch (...) {
// ,
// , ,
//
while(1)
{
std::cout << " , " << std::endl;
int a, b;
std::cout << " " << std::endl;
std::cin >> a;
std::cout << " " << std::endl;
std::cin >> b;
if (a < 0 || b < 0) {
}
else {
std::cout << " " << ((a > b) ? a : b) << std::endl;
break;
}
}
}
//c
//compare_two_num(-2, 3);
}