]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
In search of an error, report more on one exception.
authorwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Fri, 21 Jun 2002 09:43:45 +0000 (09:43 +0000)
committerwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Fri, 21 Jun 2002 09:43:45 +0000 (09:43 +0000)
git-svn-id: https://svn.dealii.org/trunk@6174 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/include/grid/tria_iterator.h

index aefd31c55ece65a2bc578746f55100eb632e5207..d8da75cbe7d77eacd12e8fb8308d09d223ec3cf4 100644 (file)
@@ -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<dim,Accessor>::operator * () const
 {
-  Assert (state() == IteratorState::valid, ExcDereferenceInvalidObject());
+  Assert (state() == IteratorState::valid,
+         ExcDereferenceInvalidObject(*this));
   return accessor;
 };
 
@@ -873,7 +883,8 @@ inline
 Accessor &
 TriaRawIterator<dim,Accessor>::operator * ()
 {
-  Assert (state() == IteratorState::valid, ExcDereferenceInvalidObject());
+  Assert (state() == IteratorState::valid,
+         ExcDereferenceInvalidObject(*this));
   return accessor;
 };
 
@@ -914,8 +925,10 @@ inline
 bool
 TriaRawIterator<dim,Accessor>::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());
   

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.