1#include <stdexcept>
2
3int compare( int a, int b ) {
4 if ( a < 0 || b < 0 ) {
5 throw std::invalid_argument( "received negative value" );
6 }
7}
1//throw "throws" an exception.
2
3It is usually used like:
4
5if(something isnt right){
6 throw somethingee;
7}
8
9/*(std::)*/cout << somethingee;
1// using standard exceptions
2#include <iostream>
3#include <exception>
4using namespace std;
5
6class myexception: public exception
7{
8 virtual const char* what() const throw()
9 {
10 return "My exception happened";
11 }
12} myex;
13
14int main () {
15 try
16 {
17 throw myex;
18 }
19 catch (exception& e)
20 {
21 cout << e.what() << '\n';
22 }
23 return 0;
24}