📄 exceptiondefs.h
字号:
// -*- Mode: C++; -*-// Package : omniORB// exceptiondefs.h Created on: 27/5/99// Author : David Riddoch (djr)//// Copyright (C) 1996-1999 AT&T Research Cambridge//// This file is part of the omniORB library.//// The omniORB library is free software; you can redistribute it and/or// modify it under the terms of the GNU Library General Public// License as published by the Free Software Foundation; either// version 2 of the License, or (at your option) any later version.//// This library 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// Library General Public License for more details.//// You should have received a copy of the GNU Library General Public// License along with this library; if not, write to the Free// Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA// 02111-1307, USA////// Description:///* $Log: exceptiondefs.h,v $ Revision 1.1.4.3 2001/10/17 16:44:05 dpg1 Update DynAny to CORBA 2.5 spec, const Any exception extraction. Revision 1.1.4.2 2001/08/03 17:45:09 sll Moved OMNIORB_THROW so that it can be used in stub headers Revision 1.1.4.1 2001/04/18 17:18:17 sll Big checkin with the brand new internal APIs. These files were relocated and scoped with the omni namespace. Revision 1.2.2.4 2000/10/09 16:21:26 sll Removed reference to omniConnectionBroken. Revision 1.2.2.3 2000/10/06 16:36:07 sll Removed omniConnectionBroken. Has been superceded by raiseException() in the strand interface. Revision 1.2.2.2 2000/09/27 17:42:38 sll Updated to use the new cdrStream abstraction Revision 1.2.2.1 2000/07/17 10:35:39 sll Merged from omni3_develop the diff between omni3_0_0_pre3 and omni3_0_0. Revision 1.3 2000/07/13 15:26:03 dpg1 Merge from omni3_develop for 3.0 release. Revision 1.1.2.1 2000/06/22 10:37:49 dpg1 Transport code now throws omniConnectionBroken exception rather than CORBA::COMM_FAILURE when things go wrong. This allows the invocation code to distinguish between transport problems and COMM_FAILURES propagated from the server side. exception.h renamed to exceptiondefs.h to avoid name clash on some platforms. Revision 1.1.2.3 1999/10/18 11:27:37 djr Centralised list of system exceptions. Revision 1.1.2.2 1999/10/14 16:21:54 djr Implemented logging when system exceptions are thrown. Revision 1.1.2.1 1999/09/22 14:26:25 djr Major rewrite of orbcore to support POA.*/#ifndef __OMNIORB_EXCEPTION_H__#define __OMNIORB_EXCEPTION_H__#define OMNIORB_DEFINE_USER_EX_COMMON_FNS(scope, name, repoid) \ \CORBA::Exception::insertExceptionToAny scope::name::insertToAnyFn = 0; \CORBA::Exception::insertExceptionToAnyNCP scope::name::insertToAnyFnNCP = 0; \ \scope::name::~name() {} \ \void scope::name::_raise() const { throw *this; } \ \scope::name* scope::name::_downcast(CORBA::Exception* e) { \ return (name*)_NP_is_a(e, "Exception/UserException/"#scope"::"#name); \} \const scope::name* \scope::name::_downcast(const CORBA::Exception* e) \{ \ return (const name*)_NP_is_a(e,"Exception/UserException/"#scope"::"#name); \} \ \const char* scope::name::_PD_repoId = repoid; \ \CORBA::Exception* \scope::name::_NP_duplicate() const { \ return new name(*this); \} \ \const char* \scope::name::_NP_typeId() const { \ return "Exception/UserException/" #scope "::" #name; \} \ \const char* \scope::name::_NP_repoId(int* size) const { \ *size = sizeof(repoid); \ return repoid; \} \ \void \scope::name::_NP_marshal(cdrStream& s) const { \ *this >>= s; \} \#define OMNIORB_DEFINE_USER_EX_WITHOUT_MEMBERS(scope, name, repoid) \ \OMNIORB_DEFINE_USER_EX_COMMON_FNS(scope, name, repoid) \#endif // __OMNIORB_EXCEPTION_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -