COIN-OR::LEMON - Graph Library

Changeset 290:f6899946c1ac in lemon-1.2 for lemon/bfs.h


Ignore:
Timestamp:
09/30/08 20:53:18 (11 years ago)
Author:
Balazs Dezso <deba@…>
Branch:
default
Phase:
public
Message:

Simplifying exceptions

  • Using asserts instead of exceptions for unitialized parameters
  • Only the IO exceptions are used in the lemon
  • DataFormatError? is renamed to FormatError?
  • The IoError? is used for file access errors
File:
1 edited

Legend:

Unmodified
Added
Removed
  • lemon/bfs.h

    r287 r290  
    136136  class Bfs {
    137137  public:
    138     ///\ref Exception for uninitialized parameters.
    139 
    140     ///This error represents problems in the initialization of the
    141     ///parameters of the algorithm.
    142     class UninitializedParameter : public lemon::UninitializedParameter {
    143     public:
    144       virtual const char* what() const throw() {
    145         return "lemon::Bfs::UninitializedParameter";
    146       }
    147     };
    148138
    149139    ///The type of the digraph the algorithm runs on.
     
    233223      static PredMap *createPredMap(const Digraph &)
    234224      {
    235         throw UninitializedParameter();
     225        LEMON_ASSERT(false, "PredMap is not initialized");
     226        return 0; // ignore warnings
    236227      }
    237228    };
     
    251242      static DistMap *createDistMap(const Digraph &)
    252243      {
    253         throw UninitializedParameter();
     244        LEMON_ASSERT(false, "DistMap is not initialized");
     245        return 0; // ignore warnings
    254246      }
    255247    };
     
    269261      static ReachedMap *createReachedMap(const Digraph &)
    270262      {
    271         throw UninitializedParameter();
     263        LEMON_ASSERT(false, "ReachedMap is not initialized");
     264        return 0; // ignore warnings
    272265      }
    273266    };
     
    287280      static ProcessedMap *createProcessedMap(const Digraph &)
    288281      {
    289         throw UninitializedParameter();
     282        LEMON_ASSERT(false, "ProcessedMap is not initialized");
     283        return 0; // ignore warnings
    290284      }
    291285    };
     
    305299      {
    306300        return new ProcessedMap(g);
     301        return 0; // ignore warnings
    307302      }
    308303    };
     
    10411036    bool run(Node s, Node t)
    10421037    {
    1043       if (s==INVALID || t==INVALID) throw UninitializedParameter();
    10441038      Bfs<Digraph,TR> alg(*reinterpret_cast<const Digraph*>(Base::_g));
    10451039      if (Base::_pred)
     
    13241318  public:
    13251319
    1326     /// \brief \ref Exception for uninitialized parameters.
    1327     ///
    1328     /// This error represents problems in the initialization
    1329     /// of the parameters of the algorithm.
    1330     class UninitializedParameter : public lemon::UninitializedParameter {
    1331     public:
    1332       virtual const char* what() const throw()
    1333       {
    1334         return "lemon::BfsVisit::UninitializedParameter";
    1335       }
    1336     };
    1337 
    13381320    ///The traits class.
    13391321    typedef _Traits Traits;
     
    13901372      typedef T ReachedMap;
    13911373      static ReachedMap *createReachedMap(const Digraph &digraph) {
    1392         throw UninitializedParameter();
     1374        LEMON_ASSERT(false, "ReachedMap is not initialized");
     1375        return 0; // ignore warnings
    13931376      }
    13941377    };
Note: See TracChangeset for help on using the changeset viewer.