From: Mikko Rasa Date: Thu, 7 Feb 2008 15:38:09 +0000 (+0000) Subject: Exception handling fixes X-Git-Tag: 0.9~13 X-Git-Url: http://git.tdb.fi/?a=commitdiff_plain;h=54aab19ee471810a956e1fee4d3b962aaf9ae9b3;p=builder.git Exception handling fixes --- diff --git a/source/builder.cpp b/source/builder.cpp index 21e7dcd..8bef2c6 100644 --- a/source/builder.cpp +++ b/source/builder.cpp @@ -11,6 +11,7 @@ Distributed under the LGPL #include #include #include +#include #include #include #include @@ -473,15 +474,22 @@ Loads the given build file. */ int Builder::load_build_file(const Path &fn) { - IO::File inf(fn.str()); - IO::Buffered in(inf); + try + { + IO::File inf(fn.str()); + IO::Buffered in(inf); - if(verbose>=3) - cout<<"Reading "<=3) + cout<<"Reading "< +#include #include #include #include @@ -68,7 +69,7 @@ void Config::select_last_profile() in.getline(profile); set_option("profile", profile); } - catch(const SystemError &) + catch(const IO::FileNotFound &) { } freeze_mtime=true; @@ -88,13 +89,8 @@ void Config::select_profile(const string &profile) if(!package.get_builder().get_dry_run()) { - try - { - IO::File out((package.get_source()/".profile.cache").str().c_str()); - IO::print(out, "%s\n", profile); - } - catch(const SystemError &) - { } + IO::File out((package.get_source()/".profile.cache").str(), IO::M_WRITE); + IO::print(out, "%s\n", profile); } freeze_mtime=true; @@ -184,15 +180,10 @@ void Config::save() const if(i!=options.end()) fn=package.get_source()/(".options."+i->second.value+".cache"); - try - { - IO::File out(fn.str()); + IO::File out(fn.str(), IO::M_WRITE); - for(i=options.begin(); i!=options.end(); ++i) - IO::print(out, "option \"%s\" \"%s\";\n", i->second.name, i->second.value); - } - catch(const SystemError &) - { } + for(i=options.begin(); i!=options.end(); ++i) + IO::print(out, "option \"%s\" \"%s\";\n", i->second.name, i->second.value); } bool Config::set_option(const string &opt, const string &val)