0
텍스트 파일에서 데이터를 읽고 있는데이 파일에서 읽어야하는 double 값이 있습니다. 이제 문제는 double 값이 "! @ # $ %^& *"과 같이 유효하지 않은 경우 내 프로그램에서 예외를 제공하여 처리 할 수있게하려는 것입니다. 이 여기에 내 코드C++에서 double로 변환하는 동안 예외 처리
void Employee::read(istream &is) {
try{
is.get(name, 30);
is >> salary;
char c;
while(is.peek()=='\n')
is.get(c);
}
catch(exception e){
}
}
너 그것을 문자열로 입력 해보고 C++ 11을 가지고 있다면'stod'를 사용할 수 있습니다. 그러면 std :: invalid_argument 예외가 발생합니다. – chris
마지막으로 istream에 예외 비트를 설정하여 작동하게했습니다. \t 'is.exceptions (ios :: failbit | ios :: badbit); \t // 잘못된 데이터에 대한 예외를 throw하도록 ifstream을 설정하십시오. –
흥미 롭습니다. 답변으로 게시하고 수락 할 수 있습니다. – chris