Instances of this class are thrown when errors occur during a CImg library function call. More...
#include <Robots/SeaBeeIII/Sonar/CImg.h>
Public Member Functions | |
CImgException (const char *const format,...) | |
const char * | what () const throw () |
Public Attributes | |
char | _message [16384] |
Instances of this class are thrown when errors occur during a CImg library function call.
CImgException is the base class of CImg exceptions. Exceptions are thrown by the CImg Library when an error occured in a CImg library function call. CImgException is seldom thrown itself. Children classes that specify the kind of error encountered are generally used instead. These sub-classes are :
CImg<float> img; // Construct an empty image. img.blur(10); // Try to blur the image.
CImg<float> img(100,100,1,3); // Define a 100x100 color image with float pixels. img = 0; // Try to fill pixels from the 0 pointer (invalid argument to operator=() ).
CImg<float> img("file_doesnt_exist.jpg"); // Try to load a file that doesn't exist.
The parent class CImgException may be thrown itself when errors that cannot be classified in one of the above type occur. It is recommended not to throw CImgExceptions yourself, since there are normally reserved to CImg Library functions. CImgInstanceException, CImgArgumentException, CImgIOException and CImgDisplayException are simple subclasses of CImgException and are thus not detailled more in this reference documentation.
When an error occurs, the CImg Library first displays the error in a modal window. Then, it throws an instance of the corresponding exception class, generally leading the program to stop (this is the default behavior). You can bypass this default behavior by handling the exceptions yourself, using a code block try { ... } catch () { ... }
. In this case, you can avoid the apparition of the modal window, by defining the environment variable cimg_verbosity
to 0 before including the CImg header file. The example below shows how to cleanly handle CImg Library exceptions :
#define cimg_verbosity 0 // Disable modal window in CImg exceptions. #define "CImg.h" int main() { try { ...; // Here, do what you want. } catch (CImgInstanceException &e) { std::fprintf(stderr,"CImg Library Error : %s",e.what()); // Display your own error message ... // Do what you want now. } }
Definition at line 2028 of file CImg.h.