diff liboctave/FEGrid.cc @ 227:1a48a1b91489

[project @ 1993-11-15 10:10:35 by jwe]
author jwe
date Mon, 15 Nov 1993 10:11:59 +0000
parents 9a4c07481e61
children 780cbbc57b7c
line wrap: on
line diff
--- a/liboctave/FEGrid.cc
+++ b/liboctave/FEGrid.cc
@@ -26,14 +26,14 @@
 #endif
 
 #include "FEGrid.h"
+#include "lo-error.h"
 
 // error handling
 
 void
 FEGrid::error (const char* msg) const
 {
-  cerr << "Fatal FEGrid error. " << msg << "\n";
-  exit(1);
+  (*current_liboctave_error_handler) ("fatal FEGrid error: %s", msg);
 }
 
 void
@@ -47,7 +47,10 @@
 FEGrid::FEGrid (int nel, double width)
 {
   if (nel < 1)
-    nel_error ();
+    {
+      nel_error ();
+      return;
+    }
 
   elem.resize (nel+1);
 
@@ -58,7 +61,10 @@
 FEGrid::FEGrid (int nel, double left, double right)
 {
   if (nel < 1)
-    nel_error ();
+    {
+      nel_error ();
+      return;
+    }
 
   elem.resize (nel+1);
 
@@ -74,7 +80,10 @@
 FEGrid::element (double x) const
 {
   if (! in_bounds (x))
-    error ("value not within grid boundaries");
+    {
+      error ("value not within grid boundaries");
+      return -1;
+    }
 
   int nel = elem.capacity () - 1;
   for (int i = 1; i <= nel; i++)
@@ -91,15 +100,24 @@
 {
   int nel = elem.capacity () - 1;
   if (nel < 1)
-    nel_error ();
+    {
+      nel_error ();
+      return;
+    }
 
   for (int i = 1; i <= nel; i++)
     {
       if (elem.elem (i-1) > elem.elem (i))
-	error ("element boundaries not in ascending order");
+	{
+	  error ("element boundaries not in ascending order");
+	  return;
+	}
 
       if (elem.elem (i-1) == elem.elem (i))
-	error ("zero width element");
+	{
+	  error ("zero width element");
+	  return;
+	}
     }
 }