ArmNN
 25.11
Loading...
Searching...
No Matches
Exceptions.hpp File Reference
#include <sstream>
#include <stdexcept>
#include <string>
Include dependency graph for Exceptions.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  CheckLocation
class  Exception
 Base class for all ArmNN exceptions so that users can filter to just those. More...
class  BackendUnavailableException
 Class for non-fatal exceptions raised while initialising a backend. More...
class  ClRuntimeUnavailableException
class  InvalidArgumentException
class  FileNotFoundException
class  ParseException
class  UnimplementedException
class  LayerValidationException
class  GraphValidationException
class  BadOptionalAccessException
class  RuntimeException
class  MemoryImportException
class  MemoryExportException
class  TimeoutException
class  PolymorphicDowncastException
class  NullPointerException
class  BackendCapabilityException
class  MemoryValidationException

Namespaces

namespace  armnn
 Copyright (c) 2021 ARM Limited and Contributors.

Macros

#define CHECK_LOCATION()
#define ARMNN_THROW_MSG_IF_FALSE(_cond, _except, _str)
#define ARMNN_THROW_IF_FALSE(_cond, _except)
#define ARMNN_THROW_INVALIDARG_MSG_IF_FALSE(_cond, _str)
#define ARMNN_THROW_INVALIDARG_IF_FALSE(_cond)

Functions

template<typename ExceptionType>
void ConditionalThrow (bool condition, const std::string &message)
template<typename ExceptionType>
void ConditionalThrow (bool condition)
template<typename ExceptionType, typename ComparedType>
void ConditionalThrowIfNotEqual (const std::string &message, const ComparedType &leftHandSide, const ComparedType &rightHandSide)
 ComparedType must support: operator==(const ComparedType&) operator<<(ostream&, const ComparedType&)

Macro Definition Documentation

◆ ARMNN_THROW_IF_FALSE

#define ARMNN_THROW_IF_FALSE ( _cond,
_except )
Value:
ARMNN_THROW_MSG_IF_FALSE(_cond, _except, #_cond)
#define ARMNN_THROW_MSG_IF_FALSE(_cond, _except, _str)

Definition at line 208 of file Exceptions.hpp.

208#define ARMNN_THROW_IF_FALSE(_cond, _except) \
209 ARMNN_THROW_MSG_IF_FALSE(_cond, _except, #_cond)

◆ ARMNN_THROW_INVALIDARG_IF_FALSE

#define ARMNN_THROW_INVALIDARG_IF_FALSE ( _cond)
Value:

Definition at line 212 of file Exceptions.hpp.

212#define ARMNN_THROW_INVALIDARG_IF_FALSE(_cond) \
213 ARMNN_THROW_MSG_IF_FALSE(_cond, armnn::InvalidArgumentException, #_cond)

Referenced by armnn::BuildAddMulAddTensorInfoLists(), and getTosaConstHardSwish8bitTable().

◆ ARMNN_THROW_INVALIDARG_MSG_IF_FALSE

#define ARMNN_THROW_INVALIDARG_MSG_IF_FALSE ( _cond,
_str )
Value:

Definition at line 210 of file Exceptions.hpp.

210#define ARMNN_THROW_INVALIDARG_MSG_IF_FALSE(_cond, _str) \
211 ARMNN_THROW_MSG_IF_FALSE(_cond, armnn::InvalidArgumentException, _str)

Referenced by Graph::AddCompatibilityLayers(), RefMemoryManager::Allocate(), TosaRefMemoryManager::Allocate(), Graph::AllocateDynamicBuffers(), BaseMemoryManager::BaseMemoryManager(), CalculateSoftmaxTableValues(), ClConvolution2dWorkload::ClConvolution2dWorkload(), armnn::ClFullyConnectedWorkloadValidate(), armnn::ComputeAclAxis(), armnn::ComputeSoftmaxAclAxis(), armnn::Concatenate(), ConvertBatchToSpaceToTosaOperator(), ConvertGatherToTosaOperator(), ConvertPReluToTosaOperator(), ConvertQuantizeToTosaOperator(), ConvertResizeToTosaOperator(), ConvertRsqrtOperator(), ConvertSoftmaxToTosaOperator(), ConvertSpaceToBatchToTosaOperator(), ConvertSplitToTosaOperator(), ConvertStackToTosaOperator(), armnn::Dequantize(), ClConstantWorkload::Execute(), NeonConstantWorkload::Execute(), armnn::ExtractJsonObjects(), armnn::FindKernelMeasurements(), armnn::FindMeasurement(), Layer::InferOutputShapes(), UnidirectionalSequenceLstmLayer::InferOutputShapes(), armnn::InitializeArmComputeClTensorData(), armnn::InitializeArmComputeTensorData(), armnn::InitializeArmComputeTensorData(), armnn::LogSoftmax(), NeonTensorHandle::Manage(), armnn::NeonFullyConnectedWorkloadValidate(), armnn::NeonTransposeConvolution2dWorkloadValidate(), TypedIterator< T, Base >::operator++(), TypedIterator< T, Base >::operator+=(), TypedIterator< T, Base >::operator-=(), TypedIterator< T, Base >::operator[](), QuantizedMultiplierSmallerThanOne::QuantizedMultiplierSmallerThanOne(), OriginsDescriptor::ReorderOrigins(), armnn::Resize(), PerAxisIterator< T, Base >::SetIndexOnMem(), armnn::Softmax(), armnn::Split(), armnn::Splitter(), Graph::SubstituteSubgraph(), SubgraphView::SubstituteSubgraph(), and TensorBufferArrayView< DataType >::TensorBufferArrayView().

◆ ARMNN_THROW_MSG_IF_FALSE

#define ARMNN_THROW_MSG_IF_FALSE ( _cond,
_except,
_str )
Value:
do { if (!(static_cast<bool>(_cond))) {throw _except(_str);} } while(0)

Definition at line 206 of file Exceptions.hpp.

206#define ARMNN_THROW_MSG_IF_FALSE(_cond, _except, _str) \
207 do { if (!(static_cast<bool>(_cond))) {throw _except(_str);} } while(0)

Referenced by RefMemoryManager::Pool::Acquire(), TosaRefMemoryManager::Pool::Acquire(), CreateConstTosaOperator(), RefMemoryManager::Pool::GetPointer(), TosaRefMemoryManager::Pool::GetPointer(), RefTensorHandle::Manage(), TosaRefTensorHandle::Manage(), RefMemoryManager::Pool::Release(), TosaRefMemoryManager::Pool::Release(), RefMemoryManager::Pool::Reserve(), and TosaRefMemoryManager::Pool::Reserve().

◆ CHECK_LOCATION

#define CHECK_LOCATION ( )
Value:
armnn::CheckLocation(__func__, __FILE__, __LINE__)

Definition at line 203 of file Exceptions.hpp.

Referenced by BaseTensor< const void * >::BaseTensor(), armnn::BatchToSpaceNd(), armnnUtils::CheckSizes(), ClBatchToSpaceNdWorkload::ClBatchToSpaceNdWorkload(), armnn::ClBatchToSpaceNdWorkloadValidate(), armnn::ClElementwiseBinaryValidate(), ClElementwiseBinaryWorkload::ClElementwiseBinaryWorkload(), ClSpaceToBatchNdWorkload::ClSpaceToBatchNdWorkload(), armnn::ClSpaceToBatchNdWorkloadValidate(), armnnNumpy::compareCTypes(), armnnTfLiteParser::ComputeWrappedIndex(), armnnOnnxParser::CreateConstTensorImpl(), armnnNumpy::CreateHeaderInfo(), ClContextDeserializer::DeserializeFromBinary(), ClAbsWorkload::Execute(), ClActivationWorkload::Execute(), ClAdditionWorkload::Execute(), ClArgMinMaxWorkload::Execute(), ClBatchMatMulWorkload::Execute(), ClBatchNormalizationFloatWorkload::Execute(), ClBatchToSpaceNdWorkload::Execute(), ClCastWorkload::Execute(), ClChannelShuffleWorkload::Execute(), ClComparisonWorkload::Execute(), ClConvertFp16ToFp32Workload::Execute(), ClConvertFp32ToFp16Workload::Execute(), ClConvolution2dWorkload::Execute(), ClConvolution3dWorkload::Execute(), ClDepthToSpaceWorkload::Execute(), ClDepthwiseConvolutionWorkload::Execute(), ClDivisionWorkload::Execute(), ClExpWorkload::Execute(), ClFillWorkload::Execute(), ClFloorDivWorkload::Execute(), ClFloorFloatWorkload::Execute(), ClFullyConnectedWorkload::Execute(), ClGatherNdWorkload::Execute(), ClGatherWorkload::Execute(), ClInstanceNormalizationWorkload::Execute(), ClL2NormalizationFloatWorkload::Execute(), ClLogSoftmaxWorkload::Execute(), ClLogWorkload::Execute(), ClLstmFloatWorkload::Execute(), ClMaximumWorkload::Execute(), ClMinimumWorkload::Execute(), ClMultiplicationWorkload::Execute(), ClNegWorkload::Execute(), ClNormalizationFloatWorkload::Execute(), ClPadWorkload::Execute(), ClPermuteWorkload::Execute(), ClPooling2dWorkload::Execute(), ClPooling3dWorkload::Execute(), ClPreluWorkload::Execute(), ClQuantizedLstmWorkload::Execute(), ClQuantizeWorkload::Execute(), ClReshapeWorkload::Execute(), ClResizeWorkload::Execute(), ClRsqrtWorkload::Execute(), ClScatterNdWorkload::Execute(), ClSinWorkload::Execute(), ClSliceWorkload::Execute(), ClSoftmaxWorkload::Execute(), ClSpaceToBatchNdWorkload::Execute(), ClSpaceToDepthWorkload::Execute(), ClSqrtWorkload::Execute(), ClStridedSliceWorkload::Execute(), ClSubtractionWorkload::Execute(), ClTransposeConvolution2dWorkload::Execute(), ClTransposeWorkload::Execute(), armnn::ExecuteFunction(), armnnUtils::ExpandDims(), armnnNumpy::getArmNNDataType(), BackendRegistry::GetFactory(), DataLayoutIndexed::GetIndex(), OnnxParserImpl::GetInputs(), IDeserializer::DeserializerImpl::GetNetworkInputBindingInfo(), OnnxParserImpl::GetNetworkInputBindingInfo(), TfLiteParserImpl::GetNetworkInputBindingInfo(), IDeserializer::DeserializerImpl::GetNetworkOutputBindingInfo(), OnnxParserImpl::GetNetworkOutputBindingInfo(), TfLiteParserImpl::GetNetworkOutputBindingInfo(), armnnNumpy::getNumpyDescr(), armnn::GetOffset(), OnnxParserImpl::GetOutputs(), armnnUtils::GetPerAxisParams(), armnnNumpy::getSubstring(), armnnUtils::GetTensorInfo(), armnnUtils::GetTensorInfo(), armnnUtils::GetTensorShape(), Layer::InferOutputShapes(), IDeserializer::DeserializerImpl::LoadGraphFromBinary(), OnnxParserImpl::LoadModelFromBinary(), TfLiteParserImpl::LoadModelFromBinary(), OnnxParserImpl::LoadModelFromBinaryFile(), TfLiteParserImpl::LoadModelFromFile(), OnnxParserImpl::LoadModelFromString(), OnnxParserImpl::LoadModelFromTextFile(), NeonBatchToSpaceNdWorkload::NeonBatchToSpaceNdWorkload(), armnn::NeonBatchToSpaceNdWorkloadValidate(), NeonElementwiseBinaryWorkload::NeonElementwiseBinaryWorkload(), armnn::NeonElementwiseBinaryWorkloadValidate(), NeonSpaceToBatchNdWorkload::NeonSpaceToBatchNdWorkload(), armnn::NeonSpaceToBatchNdWorkloadValidate(), armnn::Offset(), TensorShape::operator[](), IDeserializer::DeserializerImpl::OutputShapeOfReshape(), TfLiteParserImpl::OutputShapeOfReshape(), TfLiteParserImpl::OutputShapeOfSqueeze(), armnnUtils::ProcessConcatInputTensorInfo(), BackendRegistry::Register(), BackendRegistry::RegisterAllocator(), BackendRegistry::RegisterMemoryOptimizerStrategy(), ParserPrototxtFixture< TParser >::RunTest(), ParserPrototxtFixture< TParser >::Setup(), ParserPrototxtFixture< TParser >::Setup(), ParserPrototxtFixture< TParser >::Setup(), armnn::SpaceToBatchNd(), armnnDeserializer::ToConstTensor(), armnnUtils::ToFloatArray(), armnnDeserializer::ToTensorInfo(), AbsLayer::ValidateTensorShapesFromInputs(), ActivationLayer::ValidateTensorShapesFromInputs(), ArgMinMaxLayer::ValidateTensorShapesFromInputs(), BatchMatMulLayer::ValidateTensorShapesFromInputs(), BatchNormalizationLayer::ValidateTensorShapesFromInputs(), BatchToSpaceNdLayer::ValidateTensorShapesFromInputs(), BroadcastToLayer::ValidateTensorShapesFromInputs(), CastLayer::ValidateTensorShapesFromInputs(), ChannelShuffleLayer::ValidateTensorShapesFromInputs(), ComparisonLayer::ValidateTensorShapesFromInputs(), ConcatLayer::ValidateTensorShapesFromInputs(), ConvertFp16ToFp32Layer::ValidateTensorShapesFromInputs(), ConvertFp32ToFp16Layer::ValidateTensorShapesFromInputs(), Convolution2dLayer::ValidateTensorShapesFromInputs(), Convolution3dLayer::ValidateTensorShapesFromInputs(), DebugLayer::ValidateTensorShapesFromInputs(), DepthToSpaceLayer::ValidateTensorShapesFromInputs(), DepthwiseConvolution2dLayer::ValidateTensorShapesFromInputs(), DequantizeLayer::ValidateTensorShapesFromInputs(), DetectionPostProcessLayer::ValidateTensorShapesFromInputs(), ElementwiseBaseLayer::ValidateTensorShapesFromInputs(), ElementwiseBinaryLayer::ValidateTensorShapesFromInputs(), ElementwiseUnaryLayer::ValidateTensorShapesFromInputs(), FakeQuantizationLayer::ValidateTensorShapesFromInputs(), FillLayer::ValidateTensorShapesFromInputs(), FloorLayer::ValidateTensorShapesFromInputs(), GatherLayer::ValidateTensorShapesFromInputs(), GatherNdLayer::ValidateTensorShapesFromInputs(), InstanceNormalizationLayer::ValidateTensorShapesFromInputs(), L2NormalizationLayer::ValidateTensorShapesFromInputs(), LogicalBinaryLayer::ValidateTensorShapesFromInputs(), LogSoftmaxLayer::ValidateTensorShapesFromInputs(), LstmLayer::ValidateTensorShapesFromInputs(), MapLayer::ValidateTensorShapesFromInputs(), MeanLayer::ValidateTensorShapesFromInputs(), MemCopyLayer::ValidateTensorShapesFromInputs(), MemImportLayer::ValidateTensorShapesFromInputs(), MergeLayer::ValidateTensorShapesFromInputs(), NormalizationLayer::ValidateTensorShapesFromInputs(), PadLayer::ValidateTensorShapesFromInputs(), PermuteLayer::ValidateTensorShapesFromInputs(), Pooling2dLayer::ValidateTensorShapesFromInputs(), Pooling3dLayer::ValidateTensorShapesFromInputs(), PreluLayer::ValidateTensorShapesFromInputs(), QLstmLayer::ValidateTensorShapesFromInputs(), QuantizedLstmLayer::ValidateTensorShapesFromInputs(), QuantizeLayer::ValidateTensorShapesFromInputs(), RankLayer::ValidateTensorShapesFromInputs(), ReduceLayer::ValidateTensorShapesFromInputs(), ReshapeLayer::ValidateTensorShapesFromInputs(), ResizeLayer::ValidateTensorShapesFromInputs(), ReverseV2Layer::ValidateTensorShapesFromInputs(), RsqrtLayer::ValidateTensorShapesFromInputs(), ScatterNdLayer::ValidateTensorShapesFromInputs(), ShapeLayer::ValidateTensorShapesFromInputs(), SliceLayer::ValidateTensorShapesFromInputs(), SoftmaxLayer::ValidateTensorShapesFromInputs(), SpaceToBatchNdLayer::ValidateTensorShapesFromInputs(), SpaceToDepthLayer::ValidateTensorShapesFromInputs(), StackLayer::ValidateTensorShapesFromInputs(), StridedSliceLayer::ValidateTensorShapesFromInputs(), SwitchLayer::ValidateTensorShapesFromInputs(), TileLayer::ValidateTensorShapesFromInputs(), TransposeConvolution2dLayer::ValidateTensorShapesFromInputs(), TransposeLayer::ValidateTensorShapesFromInputs(), UnidirectionalSequenceLstmLayer::ValidateTensorShapesFromInputs(), and UnmapLayer::ValidateTensorShapesFromInputs().