не может обработать пользовательский runtime_error в модуле - PullRequest
0 голосов
/ 15 декабря 2018

Я пытаюсь обработать runtime_error, но компилятор говорит, что runtime_error не был объявлен в этой области.Я уже добавил пространство имен "std".и включил ошибку.

вот ошибка:

In file included from ErrorHandlingModule.cpp:1: ErrorHandlingModule.h:7:25: error: ‘runtime_error’ was not declared in this scope int HandleRuntimeError(runtime_error theRuntimeError); ^~~~~~~~~~~~~ ErrorHandlingModule.cpp:22:54: error: ‘int fpErrorHandling::HandleRuntimeError(std::runtime_error)’ redeclared as different kind of symbol int HandleRuntimeError(runtime_error theRuntimeError){

ErrorHandlingModule.cpp:

#include "ErrorHandlingModule.h"
#include <iostream>
#include <exception>

namespace fpErrorHandling{
    using namespace std;

    void Initialize(void){
        cin.exceptions(cin.failbit);
    }

    short int HandleNaN_error(void){
        cerr<<"Input error. Not a number?"<<endl;
        cin.clear();

        char BadInput[5];
        cin>>BadInput;

        return 1;
    }

    int HandleRuntimeError(runtime_error theRuntimeError){
        cerr<<theRuntimeError.what()<<endl;

        return 1;
    }

}

ErrorHandlingModule.h:

#ifndef ErrorHandlingModuleH
#define ErrorHandlingModuleH

namespace fpErrorHandling{
    void Initialize(void);
    short int HandleNaN_error(void);
    int HandleRuntimeError(runtime_error theRuntimeError);
}

#endif
...