From c783257449dfb12ba39e76e9402424ee26350274 Mon Sep 17 00:00:00 2001 From: wolf Date: Fri, 21 Jun 2002 09:43:45 +0000 Subject: [PATCH] In search of an error, report more on one exception. git-svn-id: https://svn.dealii.org/trunk@6174 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/include/grid/tria_iterator.h | 23 +++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) 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()); -- 2.39.5