From 00081d77200a08baac2e62cc2797c7530caacea3 Mon Sep 17 00:00:00 2001 From: Mark Spruiell Date: Fri, 16 Jan 2004 22:22:44 +0000 Subject: initial check-in --- cpp/src/FreezeScript/Exception.cpp | 62 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 cpp/src/FreezeScript/Exception.cpp (limited to 'cpp/src/FreezeScript/Exception.cpp') diff --git a/cpp/src/FreezeScript/Exception.cpp b/cpp/src/FreezeScript/Exception.cpp new file mode 100644 index 00000000000..6d1eabb6f3d --- /dev/null +++ b/cpp/src/FreezeScript/Exception.cpp @@ -0,0 +1,62 @@ +// ********************************************************************** +// +// Copyright (c) 2004 +// ZeroC, Inc. +// Billerica, MA, USA +// +// All Rights Reserved. +// +// Ice is free software; you can redistribute it and/or modify it under +// the terms of the GNU General Public License version 2 as published by +// the Free Software Foundation. +// +// ********************************************************************** + +#include + +using namespace std; + +// +// Exception +// +FreezeScript::Exception::Exception(const char* file, int line, const string& reason) : + IceUtil::Exception(file, line), _reason(reason) +{ +} + +string FreezeScript::Exception::_name = "FreezeScript::Exception"; + +const string& +FreezeScript::Exception::ice_name() const +{ + return _name; +} + +void +FreezeScript::Exception::ice_print(ostream& out) const +{ + Exception::ice_print(out); + out << ":\nerror occurred during transformation"; // TODO + if(!_reason.empty()) + { + out << ":\n" << _reason; + } +} + +IceUtil::Exception* +FreezeScript::Exception::ice_clone() const +{ + return new Exception(ice_file(), ice_line(), _reason); +} + +void +FreezeScript::Exception::ice_throw() const +{ + throw *this; +} + +string +FreezeScript::Exception::reason() const +{ + return _reason; +} -- cgit v1.2.3