当前位置:编程学习 > C/C++ >>

C++编程: exception和string

我要输入一段字母(string) 比如说string是AAAAAB
然后我要用到exception 来try是不是每个字母都是'A',如果不是 就throw出去;

#include <iostream>
#include <exception>
#include <string>
#include <vector>
using namespace std;

int main() {


 try{
 string input1;
    cout<<"Please enter the length of your DNA";
    int length;
    cin>>length;
 cout <<"Please input two DNA sequence, each input char should be upper case letter"<<endl;
 cout <<"Please input the first DNA string"<<endl;
 cin >> input1;

 for (int i=0;i=length-1;i++){
  if (input1[i]!='A')
   throw input1[i];
 }
 }catch (const string *n){
  cout<<n[<<endl;
 }
 return 0;
              }

这里catch的时候出错 不知道为什么不行

那位高手帮帮忙吗?

追问:如果那个string是对的 你知道怎么把那个string给带出try外面吗?

应为我在外面让他cout... 他就说string不存在...

答案:
#include <iostream>
#include <exception>
#include <string>
#include <vector>
using namespace std;
int main()
{


    try
    {
        string input1;


        cout << "Please input two DNA sequence, each input char should be upper case letter" << endl;
        cout << "Please input the first DNA string" << endl;
        cin >> input1;


if ( string::npos != input1.find('A') )
{
throw "warning:find Letter A!";
}
    }
    catch ( const char* n )
    {
        cout << n << endl;
    }


system("pause");
    return 0;
}
你好,这句语句 cout<<n[<<endl;写错了的,仔细看看,希望对你有所帮助,望采纳,谢谢!!
啥啊。错的不行了。看不懂。

        for (int i=0;i=length-1;i++){
            if (input1[i]!='A')
                throw input1[i];
        }
    }catch (char n){
        cout<<n<<endl;
    }
    return 0;


你throw出的对象要和你 catch 的是一致的。

上一个:matlab编程序 不要C++
下一个:帮忙把C++程序改改

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,