aboutsummaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorMu Qiao <qiaomuf@gentoo.org>2011-05-19 17:01:37 +0800
committerMu Qiao <qiaomuf@gentoo.org>2011-05-23 23:04:44 +0800
commitadd17275e8bc3b3c3c1bab7c608e7c68606f3ffc (patch)
treeddd19cec73acce244873e7361ddc5a05a07a6fed /utils
parentBuiltin: support let built-in (diff)
downloadlibbash-add17275e8bc3b3c3c1bab7c608e7c68606f3ffc.tar.gz
libbash-add17275e8bc3b3c3c1bab7c608e7c68606f3ffc.tar.bz2
libbash-add17275e8bc3b3c3c1bab7c608e7c68606f3ffc.zip
Utility: ignore exceptions that we can't handle
Our implementation is not complete so some exceptions occur. We'll ignore them for now and will look into them in future. The return exception is modified to provide more information.
Diffstat (limited to 'utils')
-rw-r--r--utils/instruo.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/utils/instruo.cpp b/utils/instruo.cpp
index bd1c981..da020c3 100644
--- a/utils/instruo.cpp
+++ b/utils/instruo.cpp
@@ -53,6 +53,7 @@
#include <paludis/package_database.hh>
#include <paludis/metadata_key.hh>
+#include "builtins/builtin_exceptions.h"
#include "command_line.h"
#include "libbash.h"
#include "utils/metadata.h"
@@ -110,6 +111,17 @@ void worker(const std::shared_ptr<PackageIDSequence> &ids)
<< e.what() << endl;
continue;
}
+ catch(const return_exception& e)
+ {
+ cerr << "Unhandled return exception in " << ebuild_path << ". The error message is:\n"
+ << e.what() << endl;
+ continue;
+ }
+ catch (...)
+ {
+ cerr << "Unhandled exception in " << ebuild_path << endl;
+ continue;
+ }
std::string output_path(CommandLine::get_instance()->a_output_directory.argument() + "/" +
variables["CATEGORY"][0] + "/" +