복사하거나 이동할 수 있는 모든 유형의 예외를 throw 할 수 있다. class No_copy { No_copy(const No_copy&) = delete; // prohibit copying (§17.6.4) }; class My_error { // ... }; void f(int n) { switch (n) { case 0: throw My_error{}; // OK case 1: throw No_copy{}; // error : can’t copy a No_copy case 2: throw My_error; // error : My_error is a type, rather than an object } } catch 된 exception object는 원칙적으로 throw 된 객체의 복사본이다..