lsst.meas.base
ga44f29b7aa+7c34ee3998
Toggle main menu visibility
Loading...
Searching...
No Matches
include
lsst
meas
base
exceptions.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
/*
3
* LSST Data Management System
4
* Copyright 2008-2013 LSST Corporation.
5
*
6
* This product includes software developed by the
7
* LSST Project (http://www.lsst.org/).
8
*
9
* This program is free software: you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License as published by
11
* the Free Software Foundation, either version 3 of the License, or
12
* (at your option) any later version.
13
*
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
18
*
19
* You should have received a copy of the LSST License Statement and
20
* the GNU General Public License along with this program. If not,
21
* see <http://www.lsstcorp.org/LegalNotices/>.
22
*/
23
24
#ifndef LSST_MEAS_BASE_exceptions_h_INCLUDED
25
#define LSST_MEAS_BASE_exceptions_h_INCLUDED
26
27
#include "
lsst/pex/exceptions.h
"
28
29
namespace
lsst
{
30
namespace
meas
{
31
namespace
base
{
32
48
class
MeasurementError
:
public
pex::exceptions::RuntimeError
{
49
public
:
51
MeasurementError
(
std::string
const
& message,
std::size_t
flagBit)
52
:
pex
::
exceptions
::RuntimeError(message), _flagBit(flagBit) {}
53
55
MeasurementError
(
LSST_EARGS_TYPED
,
std::size_t
flagBit)
56
:
pex
::
exceptions
::RuntimeError(
LSST_EARGS_UNTYPED
), _flagBit(flagBit) {}
57
59
std::size_t
getFlagBit
()
const
{
return
_flagBit; }
60
61
virtual
char
const
*
getType
(
void
)
const
throw
() {
return
"lsst::meas::base::MeasurementError *"
; };
62
63
virtual
lsst::pex::exceptions::Exception
*
clone
(
void
)
const
{
return
new
MeasurementError
(*
this
); };
64
65
private
:
66
std::size_t
_flagBit;
67
};
68
75
LSST_EXCEPTION_TYPE
(FatalAlgorithmError,
lsst::pex::exceptions::RuntimeError
,
76
lsst::meas::base::FatalAlgorithmError
);
77
83
LSST_EXCEPTION_TYPE
(
PixelValueError
,
lsst::pex::exceptions::DomainError
,
lsst::meas::base::PixelValueError
);
84
}
// namespace base
85
}
// namespace meas
86
}
// namespace lsst
87
88
#endif
// !LSST_MEAS_BASE_exceptions_h_INCLUDED
LSST_EXCEPTION_TYPE
#define LSST_EXCEPTION_TYPE(t, b, c)
LSST_EARGS_UNTYPED
#define LSST_EARGS_UNTYPED
LSST_EARGS_TYPED
#define LSST_EARGS_TYPED
std::string
lsst::meas::base::FatalAlgorithmError
Exception to be thrown when a measurement algorithm experiences a fatal error.
Definition
exceptions.h:76
lsst::meas::base::MeasurementError::clone
virtual lsst::pex::exceptions::Exception * clone(void) const
Definition
exceptions.h:63
lsst::meas::base::MeasurementError::getType
virtual char const * getType(void) const
Definition
exceptions.h:61
lsst::meas::base::MeasurementError::MeasurementError
MeasurementError(LSST_EARGS_TYPED, std::size_t flagBit)
Constructor; should only be invoked by the LSST_EXCEPT macro (see class docs).
Definition
exceptions.h:55
lsst::meas::base::MeasurementError::getFlagBit
std::size_t getFlagBit() const
Return the flag bit associated with the error.
Definition
exceptions.h:59
lsst::meas::base::MeasurementError::MeasurementError
MeasurementError(std::string const &message, std::size_t flagBit)
Constructor; should only be invoked from Python macro.
Definition
exceptions.h:51
lsst::meas::base::PixelValueError
Exception to be thrown when a measurement algorithm encounters a NaN or infinite pixel.
Definition
exceptions.h:83
lsst::pex::exceptions::DomainError
lsst::pex::exceptions::Exception
lsst::pex::exceptions::RuntimeError
exceptions.h
lsst::meas::base
Definition
Algorithm.h:37
lsst::meas
Definition
Algorithm.h:36
lsst::pex::exceptions
lsst::pex
lsst
std::size_t
Generated on
for lsst.meas.base by
1.17.0