00001 // HOG-Man - Hierarchical Optimization for Pose Graphs on Manifolds 00002 // Copyright (C) 2010 G. Grisetti, R. Kümmerle, C. Stachniss 00003 // 00004 // HOG-Man is free software: you can redistribute it and/or modify 00005 // it under the terms of the GNU Lesser General Public License as published 00006 // by the Free Software Foundation, either version 3 of the License, or 00007 // (at your option) any later version. 00008 // 00009 // HOG-Man is distributed in the hope that it will be useful, 00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 // GNU Lesser General Public License for more details. 00013 // 00014 // You should have received a copy of the GNU Lesser General Public License 00015 // along with this program. If not, see <http://www.gnu.org/licenses/>. 00016 00017 #include "runtime_error.h" 00018 #include "os_specific.h" 00019 #include <cstdarg> 00020 #include <cstdlib> 00021 #include <cstdio> 00022 using namespace std; 00023 00024 RuntimeError::RuntimeError(const char* fmt, ...) : 00025 std::exception() 00026 { 00027 char* auxPtr = NULL; 00028 va_list arg_list; 00029 va_start(arg_list, fmt); 00030 int b = vasprintf(&auxPtr, fmt, arg_list); 00031 va_end(arg_list); 00032 if (b > 0) 00033 _errorMsg = auxPtr; 00034 else 00035 _errorMsg = ""; 00036 free(auxPtr); 00037 } 00038 00039 RuntimeError::~RuntimeError() throw() 00040 { 00041 }