1 /**************************************************************************** 2 * 3 * ViSP, open source Visual Servoing Platform software. 4 * Copyright (C) 2005 - 2019 by Inria. All rights reserved. 5 * 6 * This software is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or 9 * (at your option) any later version. 10 * See the file LICENSE.txt at the root directory of this source 11 * distribution for additional information about the GNU GPL. 12 * 13 * For using ViSP with software that can not be combined with the GNU 14 * GPL, please contact Inria about acquiring a ViSP Professional 15 * Edition License. 16 * 17 * See http://visp.inria.fr for more information. 18 * 19 * This software was developed at: 20 * Inria Rennes - Bretagne Atlantique 21 * Campus Universitaire de Beaulieu 22 * 35042 Rennes Cedex 23 * France 24 * 25 * If you have questions regarding the use of this file, please contact 26 * Inria at visp@inria.fr 27 * 28 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 29 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 30 * 31 * Description: 32 * Exceptions that can be emited by the vpImage class and its derivates. 33 * 34 * Authors: 35 * Eric Marchand 36 * 37 *****************************************************************************/ 38 39 #ifndef _vpImageException_h_ 40 #define _vpImageException_h_ 41 42 /* ------------------------------------------------------------------------- 43 */ 44 /* --- INCLUDE ------------------------------------------------------------- 45 */ 46 /* ------------------------------------------------------------------------- 47 */ 48 49 /* \file vpImageException.h 50 \brief error that can be emited by the vpImage class and its derivates 51 */ 52 /* Classes standards. */ 53 54 #include <visp3/core/vpConfig.h> 55 #include <visp3/core/vpException.h> 56 57 #include <iostream> /* Classe std::ostream. */ 58 #include <string> /* Classe string. */ 59 60 /* ------------------------------------------------------------------------- 61 */ 62 /* --- CLASS --------------------------------------------------------------- 63 */ 64 /* ------------------------------------------------------------------------- 65 */ 66 67 /*! 68 69 \class vpImageException 70 \ingroup group_core_debug 71 \brief Error that can be emited by the vpImage class and its derivates. 72 */ 73 class VISP_EXPORT vpImageException : public vpException 74 { 75 public: 76 /*! 77 \brief Lists the possible error than can be emmited while calling 78 vpImage member 79 */ 80 enum errorImageCodeEnum { 81 ioError, 82 noFileNameError, 83 notInitializedError, 84 incorrectInitializationError, 85 notInTheImage 86 }; 87 88 public: vpImageException(int id,const char * format,...)89 vpImageException(int id, const char *format, ...) 90 { 91 this->code = id; 92 va_list args; 93 va_start(args, format); 94 setMessage(format, args); 95 va_end(args); 96 } vpImageException(int id,const std::string & msg)97 vpImageException(int id, const std::string &msg) : vpException(id, msg) { ; } vpImageException(int id)98 explicit vpImageException(int id) : vpException(id) { ; } 99 }; 100 101 #endif 102