?? snmpexception.h
字號:
//
// SNMP - A C++ Wrapper for the WinSnmp library
// Copyright (C) 2004 Rog閞io Paulo, rpaulo@bigfoot.com
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
#pragma once
#include "Winsnmp.h"
#include <string>
#include <sstream>
#include "SNMPTracer.h"
#define SNMP_THROW_BASE(e) { SNMPException * psnmpe = e; SNMPTRACE(psnmpe->toString()); throw psnmpe; }
#define SNMP_THROW_EXCEPTION(message) SNMP_THROW_BASE(new SNMPException(message, NULL, __FILE__, __LINE__, __DATE__, __TIME__, __VER__))
#define SNMP_RETHROW_EXCEPTION(message, exception) SNMP_THROW_BASE(new SNMPException(, exception, __FILE__, __LINE__, __DATE__, __TIME__, __VER__))
#define SNMP_THROW_ERROR(message, number, level) SNMP_THROW_BASE(new SNMPErrorException(number, level, message, NULL, __FILE__, __LINE__, __DATE__, __TIME__, __VER__))
#define SNMP_RETHROW_ERROR(message, exception, number, level) SNMP_THROW_BASE(new SNMPErrorException(number, level, message, exception, __FILE__, __LINE__, __DATE__, __TIME__, __VER__))
class SNMPException {
protected:
std::string _message;
std::string _source;
SNMPException * _previous;
public:
SNMPException( std::string message = "",
SNMPException * prev = NULL,
const char * file = NULL,
int line = 0,
const char * date = NULL,
const char * time = NULL,
const char * ver = NULL);
virtual ~SNMPException();
virtual std::string toString();
virtual std::string toStringStack();
};
#define SNMP_ERROR 0
#define SNMP_WARNING 1
class SNMPErrorException : public SNMPException {
protected:
int _level;
int _number;
public:
SNMPErrorException(int number = SNMPAPI_OTHER_ERROR, int level = SNMP_WARNING, std::string message = "", SNMPException * prev = NULL, const char * file = NULL, int line = 0, const char * date = NULL, const char * time = NULL, const char * ver = NULL);
virtual ~SNMPErrorException();
virtual std::string toString();
};
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -