Nie dzialaja mi wyjatki w CLion

0

witam,
nie dzialaja mi wyjatki w CLion

std::ifstream load_file(const std::string& path) // TODO: change arguments
{
    std::ifstream input_file(path, std::ios::in);
    if (!input_file.good())
        throw std::exception("File could not be loaded");
    return input_file;
}
 no matching function for call to ‘std::exception::exception(const char [25])’
         throw std::exception("File could not be loaded");
3

Gdybyś zajrzał do dokumentacji, to byś zobaczył, że std::exception nie ma takiego konstruktora: https://en.cppreference.com/w/cpp/error/exception/exception

Użyj odpowiedniego wyjątku, zamiast klasy bazowej:

struct invalid_file_handle : std::runtime_error
{
    using runtime_error::runtime_error;
};

I wtedy

throw invalid_file_handle("foo.txt");
0

Inna opcja to ustawienie obiektu strumienia tak, by sam rzucał wyjątek w wypadku błędów.
https://wandbox.org/permlink/WxR0OqYqCSPticqN

1 użytkowników online, w tym zalogowanych: 0, gości: 1