From: wolf Date: Fri, 21 Jun 2002 09:43:45 +0000 (+0000) Subject: In search of an error, report more on one exception. X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c783257449dfb12ba39e76e9402424ee26350274;p=dealii-svn.git In search of an error, report more on one exception. git-svn-id: https://svn.dealii.org/trunk@6174 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/include/grid/tria_iterator.h b/deal.II/deal.II/include/grid/tria_iterator.h index aefd31c55e..d8da75cbe7 100644 --- a/deal.II/deal.II/include/grid/tria_iterator.h +++ b/deal.II/deal.II/include/grid/tria_iterator.h @@ -487,7 +487,16 @@ class TriaRawIterator : /** * Exception */ - DeclException0 (ExcDereferenceInvalidObject); + DeclException1 (ExcDereferenceInvalidObject, + TriaRawIterator, + << "You tried to dereference an iterator for which this " + << "is not possible. More information on this iterator: " + << "level=" << arg1.accessor.level() + << ", index=" << arg1.accessor.index() + << ", state=" + << (arg1.state() == IteratorState::valid ? "valid" : + (arg1.state() == IteratorState::past_the_end ? + "past_the_end" : "invalid"))); /** * Exception */ @@ -862,7 +871,8 @@ inline const Accessor & TriaRawIterator::operator * () const { - Assert (state() == IteratorState::valid, ExcDereferenceInvalidObject()); + Assert (state() == IteratorState::valid, + ExcDereferenceInvalidObject(*this)); return accessor; }; @@ -873,7 +883,8 @@ inline Accessor & TriaRawIterator::operator * () { - Assert (state() == IteratorState::valid, ExcDereferenceInvalidObject()); + Assert (state() == IteratorState::valid, + ExcDereferenceInvalidObject(*this)); return accessor; }; @@ -914,8 +925,10 @@ inline bool TriaRawIterator::operator < (const TriaRawIterator &i) const { - Assert (state() != IteratorState::invalid, ExcDereferenceInvalidObject()); - Assert (i.state() != IteratorState::invalid, ExcDereferenceInvalidObject()); + Assert (state() != IteratorState::invalid, + ExcDereferenceInvalidObject(*this)); + Assert (i.state() != IteratorState::invalid, + ExcDereferenceInvalidObject(i)); Assert (&accessor.get_triangulation() == &i.accessor.get_triangulation(), ExcInvalidComparison());