From f003c8a0bdbb1fb2e37df7512d1ccb80edb4ebb0 Mon Sep 17 00:00:00 2001
From: Marco Biasini <marco.biasini@unibas.ch>
Date: Sun, 17 Jun 2012 16:08:55 +0200
Subject: [PATCH] perform command line parsing in try/catch block

---
 modules/mol/alg/src/lddt.cc | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/modules/mol/alg/src/lddt.cc b/modules/mol/alg/src/lddt.cc
index 9c2c1bf61..555748385 100644
--- a/modules/mol/alg/src/lddt.cc
+++ b/modules/mol/alg/src/lddt.cc
@@ -127,9 +127,14 @@ int main (int argc, char **argv)
   po::positional_options_description p;
   p.add("files", -1);
   po::variables_map vm;
-  po::store(po::command_line_parser(argc, argv).
+  try {
+    po::store(po::command_line_parser(argc, argv).
                 options(desc).positional(p).run(),
-            vm);
+              vm);
+  } catch (std::exception& e) {
+    std::cout << e.what() << std::endl;
+    usage();
+  }
   po::notify(vm);
   if (vm.count("version")) {
     std::cout << "Version: " << version << std::endl;
-- 
GitLab