Loading...
Searching...
No Matches
FunctionFactoryErrors.h
Go to the documentation of this file.
//# FunctionFactoryErrors: Exception classes for use by FunctionFactories & clients
//# Copyright (C) 2002
//# Associated Universities, Inc. Washington DC, USA.
//#
//# This 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., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
//#
//# Correspondence concerning AIPS++ should be addressed as follows:
//# Internet email: casa-feedback@nrao.edu.
//# Postal address: AIPS++ Project Office
//# National Radio Astronomy Observatory
//# 520 Edgemont Road
//# Charlottesville, VA 22903-2475 USA
#ifndef SCIMATH_FUNCTIONFACTORYERRORS_H
#define SCIMATH_FUNCTIONFACTORYERRORS_H
#include <casacore/casa/aips.h>
#include <casacore/casa/Exceptions/Error.h>
namespace casacore { //# NAMESPACE CASACORE - BEGIN
class FunctionFactoryError : public AipsError {
public:
FunctionFactoryError(const String& message,Category c=GENERAL) : AipsError(message,c) {}
virtual ~FunctionFactoryError() noexcept;
};
class UnrecognizedFunctionError : public FunctionFactoryError {
public:
// create an exception indicating that the a function of the given name
// is not recognized
UnrecognizedFunctionError(const String& name, Category c=INVALID_ARGUMENT) :
FunctionFactoryError(String("Unrecognized function: ") + name,c),
fname(name)
{}
virtual ~UnrecognizedFunctionError() noexcept;
const String& getName() { return fname; }
private:
String fname;
};
class InvalidSerializationError : public FunctionFactoryError {
public:
// create an exception indicating a Record serialization of a
// Function is invalid. The error message will be a "Invalid function
// description in record: " + reason.
InvalidSerializationError(const String& reason,Category c=GENERAL) :
FunctionFactoryError(preamble + reason,c), reas(reason) {}
virtual ~InvalidSerializationError() noexcept;
const String& getReason() { return reas; }
static const String preamble;
private:
String reas;
};
class FieldNotFoundError : public InvalidSerializationError {
public:
FieldNotFoundError(const String& field,Category c=GENERAL) :
InvalidSerializationError(String("No ") + field + " defined",c),
fname(field)
{}
virtual ~FieldNotFoundError() noexcept;
private:
String fname;
};
} //# NAMESPACE CASACORE - END
#endif
casacore::AipsError::AipsError
AipsError(const Char *str, Category c=GENERAL)
Creates an AipsError and initializes the error message from the parameter.
casacore::AipsError::message
String message
Definition Error.h:201
casacore::AipsError::Category
Category
Definition Error.h:136
casacore::AipsError::INVALID_ARGUMENT
@ INVALID_ARGUMENT
Definition Error.h:137
casacore::AipsError::GENERAL
@ GENERAL
Definition Error.h:138
casacore::FieldNotFoundError::~FieldNotFoundError
virtual ~FieldNotFoundError() noexcept
casacore::FieldNotFoundError::fname
String fname
Definition FunctionFactoryErrors.h:83
casacore::FieldNotFoundError::FieldNotFoundError
FieldNotFoundError(const String &field, Category c=GENERAL)
Definition FunctionFactoryErrors.h:76
casacore::FunctionFactoryError::FunctionFactoryError
FunctionFactoryError(const String &message, Category c=GENERAL)
Definition FunctionFactoryErrors.h:36
casacore::FunctionFactoryError::~FunctionFactoryError
virtual ~FunctionFactoryError() noexcept
casacore::InvalidSerializationError::InvalidSerializationError
InvalidSerializationError(const String &reason, Category c=GENERAL)
create an exception indicating a Record serialization of a Function is invalid.
Definition FunctionFactoryErrors.h:62
casacore::InvalidSerializationError::reas
String reas
Definition FunctionFactoryErrors.h:71
casacore::InvalidSerializationError::preamble
static const String preamble
Definition FunctionFactoryErrors.h:68
casacore::InvalidSerializationError::~InvalidSerializationError
virtual ~InvalidSerializationError() noexcept
casacore::InvalidSerializationError::getReason
const String & getReason()
Definition FunctionFactoryErrors.h:66
casacore::String
String: the storage and methods of handling collections of characters.
Definition String.h:223
casacore::UnrecognizedFunctionError::getName
const String & getName()
Definition FunctionFactoryErrors.h:51
casacore::UnrecognizedFunctionError::~UnrecognizedFunctionError
virtual ~UnrecognizedFunctionError() noexcept
casacore::UnrecognizedFunctionError::UnrecognizedFunctionError
UnrecognizedFunctionError(const String &name, Category c=INVALID_ARGUMENT)
create an exception indicating that the a function of the given name is not recognized
Definition FunctionFactoryErrors.h:45
casacore::UnrecognizedFunctionError::fname
String fname
Definition FunctionFactoryErrors.h:54
casacore
this file contains all the compiler specific defines
Definition mainpage.dox:28
casacore::name
String name() const
Return the name of the field.
Definition RecordField.h:163