summaryrefslogtreecommitdiff
path: root/odb
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2012-07-30 12:25:16 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2012-07-30 12:25:16 +0200
commit9c9b8f3a03951e1b7cc489ce0ec018a03520c039 (patch)
treee801867e11963a13d138a4704d7df67ece226f2d /odb
parent001b34dc49b140ce689f82579032108e0a2883da (diff)
Handle regex_format exception at top level
Diffstat (limited to 'odb')
-rw-r--r--odb/generator.cxx6
-rw-r--r--odb/plugin.cxx7
2 files changed, 7 insertions, 6 deletions
diff --git a/odb/generator.cxx b/odb/generator.cxx
index 2262165..26efedf 100644
--- a/odb/generator.cxx
+++ b/odb/generator.cxx
@@ -524,12 +524,6 @@ generate (options const& ops,
//
throw failed ();
}
- catch (regex_format const& e)
- {
- cerr << "error: invalid regex: '" << e.regex () << "': " <<
- e.description () << endl;
- throw failed ();
- }
catch (semantics::invalid_path const& e)
{
cerr << "error: '" << e.path () << "' is not a valid filesystem path"
diff --git a/odb/plugin.cxx b/odb/plugin.cxx
index 73ada7a..8920521 100644
--- a/odb/plugin.cxx
+++ b/odb/plugin.cxx
@@ -11,6 +11,7 @@
#include <cassert>
#include <iostream>
+#include <cutl/re.hxx>
#include <cutl/fs/path.hxx>
#include <odb/pragma.hxx>
@@ -137,6 +138,12 @@ gate_callback (void*, void*)
generator g;
g.generate (*options_, f, *u, file_);
}
+ catch (cutl::re::format const& e)
+ {
+ cerr << "error: invalid regex: '" << e.regex () << "': " <<
+ e.description () << endl;
+ r = 1;
+ }
catch (pragmas_failed const&)
{
// Diagnostics has aready been issued.