From b109ef46b2ea7465a6b6fc79926335e8f4353597 Mon Sep 17 00:00:00 2001 From: victor Date: Mon, 21 Feb 2000 18:21:58 +0000 Subject: [PATCH] *** empty log message *** --- eo/src/eoGeneration.h | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/eo/src/eoGeneration.h b/eo/src/eoGeneration.h index 9da4ae67..01d2bbf2 100644 --- a/eo/src/eoGeneration.h +++ b/eo/src/eoGeneration.h @@ -26,7 +26,7 @@ #define eoGeneration_h //----------------------------------------------------------------------------- - +#include #include // eoPop #include #include // eoSelect, eoTranform, eoMerge @@ -56,15 +56,19 @@ template class eoGeneration: public eoAlgo /// Apply one generation of evolution to the population. virtual void operator()(eoPop& pop) { - eoPop breeders; - select(pop, breeders); - transform(breeders); - eoPop::iterator i; - // Can't use foreach here since foreach takes the - // parameter by reference - for ( i = breeders.begin(); i != breeders.end(); i++) - evaluator(*i); - replace(breeders, pop); + eoPop breeders; + try { + select(pop, breeders); + transform(breeders); + eoPop::iterator i; + // Can't use foreach here since foreach takes the + // parameter by reference + for ( i = breeders.begin(); i != breeders.end(); i++) + evaluator(*i); + replace(breeders, pop); + } catch ( exception& e ) { + throw runtime_error( e.what() ); + } } /// Class name.