[Dune] Re: [Dune-CVS] CVS (oliver)

Thimo Neubauer thimo at debian.org
Tue Aug 31 14:15:12 CEST 2004


On Tue, Aug 31, 2004 at 12:04:51PM +0200, Oliver Sander wrote:
> Update of /var/lib/cvs/dune/common
> In directory hal:/tmp/cvs-serv31461
> 
> Modified Files:
> 	stack.hh 
> Log Message:
> Crude error handling if pop_front() or front() is called for an empty stack

Von Konstrukten 

  std::cerr << "Fehler\n";
  assert(false);

möchte ich abraten:

 - nachdem assert (siehe manpage) verschwindet, wenn NDEBUG gesetzt
   ist terminiert das Programm nicht... Da wäre exit(int status) noch
   die bessere Wahl, aber auch unhöflich, denn:

 - bitte die neuen Exceptions verwenden, dafür sind sie da. Dann kann
   so ein Problem auch abgefangen werden, wenn jemand das will. Und
   wenn nichts gefangen wird geht's ja auch ganz ordentlich in den abort()

 - sollte nicht statt "\n" lieber std::endl verwendet werden? Bei der
   Ausgabe dürfte es egal sein, spätestens bei Eingaben will man sich
   aber den Portierungsstress bei einer Umstellung auf CR/LF-Systeme
   (Windows) vielleicht sparen

Gruss
   Thimo




More information about the Dune mailing list