COIN-OR::LEMON - Graph Library

Changeset 290:f6899946c1ac in lemon for lemon/dfs.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/dfs.h

    r287 r290  
    137137  class Dfs {
    138138  public:
    139     ///\ref Exception for uninitialized parameters.
    140 
    141     ///This error represents problems in the initialization of the
    142     ///parameters of the algorithm.
    143     class UninitializedParameter : public lemon::UninitializedParameter {
    144     public:
    145       virtual const char* what() const throw() {
    146         return "lemon::Dfs::UninitializedParameter";
    147       }
    148     };
    149139
    150140    ///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    };
     
    975969    bool run(Node s, Node t)
    976970    {
    977       if (s==INVALID || t==INVALID) throw UninitializedParameter();
    978971      Dfs<Digraph,TR> alg(*reinterpret_cast<const Digraph*>(Base::_g));
    979972      if (Base::_pred)
     
    12711264  public:
    12721265
    1273     /// \brief \ref Exception for uninitialized parameters.
    1274     ///
    1275     /// This error represents problems in the initialization
    1276     /// of the parameters of the algorithm.
    1277     class UninitializedParameter : public lemon::UninitializedParameter {
    1278     public:
    1279       virtual const char* what() const throw()
    1280       {
    1281         return "lemon::DfsVisit::UninitializedParameter";
    1282       }
    1283     };
    1284 
    12851266    ///The traits class.
    12861267    typedef _Traits Traits;
     
    13371318      typedef T ReachedMap;
    13381319      static ReachedMap *createReachedMap(const Digraph &digraph) {
    1339         throw UninitializedParameter();
     1320        LEMON_ASSERT(false, "ReachedMap is not initialized");
     1321        return 0; // ignore warnings
    13401322      }
    13411323    };
Note: See TracChangeset for help on using the changeset viewer.