How to use multiple catch to catch different exceptions in C++

1 Answer

0 votes
#include <iostream>
#include <string>

using std::cout;
using std::endl;
using std::string;

void function(int n)
{
	try {
		if (n == 0)  
			throw n;
		if (n == 1) 
			throw 'z';
		if (n == 2)
			throw 3.14;
		if (n == 3)
			throw "c++";
	}
	catch (int __n) { 
		cout << "catch n = " << __n << endl;
	}
	catch (double d) {
		cout << "catch d = " << d << endl;
	}
	catch (char *p) {
		cout << "catch p = " << p << endl;
	}
	catch (...) {
		cout << "catch (...)" << endl;
	}
}

int main()
{
	function(0);
	function(1);
	function(2);
	function(3);

	return 0;
}


/*
run:

catch n = 0
catch (...)
catch d = 3.14
catch p = c++

*/

 



answered Jun 2, 2018 by avibootz

Related questions

1 answer 211 views
2 answers 178 views
4 answers 320 views
1 answer 88 views
2 answers 286 views
1 answer 206 views
1 answer 204 views
...