错误有关问题

异常问题
C/C++ code


#include <iostream>  
#include <string>
#include <exception>
using namespace std;
int main()
{
    try
    {
        if(1)
            throw "throw";
    }catch(string str)//为什么不能把这样传值有问题
//改成thrrow string("throw")或者catch(const char* str)就可以呢?
    {
        cout<<str<<endl;
    }
    return 0;
}



、、望前辈们指点一下。

------解决方案--------------------
本来你抛出的类型就是char*类型

------解决方案--------------------
你抛出什么,他就会catch到什么
------解决方案--------------------
抛出的类型要和catch的类型一致。
------解决方案--------------------
string != const char *
string.c_str() == const char *