• [^] # Re: Ça marche

    Posté par . En réponse au message Déclencher et capturer une exception. Évalué à 3.

    En toute rigueur, il faut faire "catch (std::string &e);", sans quoi l'objet servant d'exception (ici un std::string) va se retrouver copie. Sinon, il me semblerait plus judicieux d'utiliser les exceptions standard. Il en existe une bonne douzaine répartis suivant les types d'erreur que peut rencontrer un programme. Dans ton cas, j'ecrirai surement :
    bool rename_file(std::string source, std::string destination) {
    std::ifstream flux_in;
    std::ofstream flux_out;
    std::string ligne;
    //fpkg_exception the_exception;
    if (!is_file(source)) {
     throw std::invalid_argument("File not found");
    }
    return true;
    }
    try {
    rename_file("/test", "/bin"));
    }
    catch (std::exception &e) {
    std::cerr << "Caught exception: " << e.what() << std::endl;
    return -1;
    }