Mercurial > hg > octave-nkf
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; + } } }