c++primer throw char*

转自:http://blog.163.com/jw_chen_cs/blog/static/20221214820123684046320/

#include <iostream> using namesapce std; void test(int t) {   if(t > 10)     throw "integer larger than 10!";   else     cout << "t = " << t << endl; } int main() {   try {     test(21);   } catch(char *str) {     cout << str << endl;   } catch(...) {     cout << "unexpected error\n";   } }

这个的结果是
  unexpected error.
除非, catch(const char*str) {....}
 才会是 integer larger than 10!

你可能感兴趣的:(c++primer throw char*)