include <exception>
try
{}
cache(exception &e)
{
cout<<e.what()<<endl;
} 但是使用这个要非常注意才行,必须把 c/c++-->代码生成-->启用C++错误,改成 /eha才行
而且据说,也不是任意错误都能处理的,我就比较崩溃了;
- nclude <iostream>
- #include <exception>
- using namespace std;
- //可以自己定义Exception
- class myexception: public exception
- {
- virtual const char* what() const throw()
- {
- return "My exception happened";
- }
- }myex;
- int main () {
- try
- {
- if(true) //如果,则抛出异常;
- throw myex;
- }
- catch (exception& e)
- {
- cout << e.what() << endl;
- }
- return 0;
- }
- #include <iostream>
- #include <exception>
- using namespace std;
- int main () {
- try
- {
- throw 1;
- throw "error";
- }
- catch(char *str)
- {
- cout << str << endl;
- }
- catch(int i)
- {
- cout << i << endl;
- }
- }
c++ try{}catch(...){}能不能捕获所有异常
编译器vc2010 debug版本已经在网上找了异常方面的
已经修改c++异常配置
属性页--c/c++ --代码生成--启用c++异常-- 是,但有 SEH 异常 (/EHa)
可以把
try
{
cout<<strstr("sdfdfsdf",";");
}
catch(...){cout<<"捕获错误了";}
这个错误捕获