Visual Servoing Platform  version 3.3.0
vpException Class Reference

#include <vpException.h>

+ Inheritance diagram for vpException:

Public Types

enum  generalExceptionEnum {
  memoryAllocationError, memoryFreeError, functionNotImplementedError, ioError,
  cannotUseConstructorError, notImplementedError, divideByZeroError, dimensionError,
  fatalError, badValue, notInitialized
}
 

Public Member Functions

 vpException (int code, const char *format, va_list args)
 
 vpException (int code, const char *format,...)
 
 vpException (int code, const std::string &msg)
 
 vpException (int code)
 
virtual ~vpException ()
 

Protected Member Functions

void setMessage (const char *format, va_list args)
 
 vpException ()
 

Protected Attributes

int code
 
std::string message
 

Inherited functionalities from vpException

int getCode (void)
 
const std::string & getStringMessage (void) const
 
const char * getMessage (void) const
 
const char * what () const throw ()
 
VISP_EXPORT std::ostream & operator<< (std::ostream &os, const vpException &art)
 

Detailed Description

error that can be emited by ViSP classes.

This class inherites from the standard std::exception contained in the C++ STL. It is therefore possible to catch vpException with any other derivative of std::exception in the same catch.

Examples
AROgre.cpp, AROgreBasic.cpp, BSpline.cpp, calibrate-hand-eye.cpp, displayD3D.cpp, displayGTK.cpp, displayOpenCV.cpp, displaySequence.cpp, displayX.cpp, displayXMulti.cpp, exponentialMap.cpp, fernClassifier.cpp, frankaGripper.cpp, frankaMoveToPosition.cpp, frankaSavePosition.cpp, getRealSense2Info.cpp, grab1394CMU.cpp, grab1394Two.cpp, grabDirectShow.cpp, grabDirectShowMulti.cpp, grabDisk.cpp, grabFlyCapture.cpp, grabOpenCV.cpp, grabRealSense.cpp, grabRealSense2.cpp, grabV4l2.cpp, grabV4l2MultiCpp11Thread.cpp, HelloWorldOgre.cpp, HelloWorldOgreAdvanced.cpp, histogram.cpp, homographyHartleyDLT2DObject.cpp, homographyHLM2DObject.cpp, homographyHLM3DObject.cpp, homographyRansac2DObject.cpp, imageDiskRW.cpp, imageSequenceReader.cpp, keyboardControlBebop2.cpp, keyPointSurf.cpp, kinectAcquisition.cpp, manDisplay.cpp, manGeometricFeatures.cpp, manGrab1394-2.cpp, manGrabDirectShow.cpp, manGrabDisk.cpp, manGrabV4l2.cpp, manServo4PointsDisplay.cpp, manServoMomentsSimple.cpp, manSimu4Dots.cpp, manSimu4Points.cpp, mbot-apriltag-2D-half-vs.cpp, mbot-apriltag-ibvs.cpp, mbot-apriltag-pbvs.cpp, mbtEdgeKltMultiTracking.cpp, mbtEdgeKltTracking.cpp, mbtEdgeMultiTracking.cpp, mbtEdgeTracking.cpp, mbtGenericTracking.cpp, mbtGenericTracking2.cpp, mbtGenericTrackingDepth.cpp, mbtGenericTrackingDepthOnly.cpp, mbtKltMultiTracking.cpp, mbtKltTracking.cpp, moveAfma4.cpp, moveBiclops.cpp, movePioneer.cpp, movePtu46.cpp, parallelPort.cpp, parse-argv1.cpp, parse-argv2.cpp, photometricVisualServoing.cpp, planarObjectDetector.cpp, plot2d.cpp, plot3d.cpp, poseVirtualVS.cpp, servoAfma4Point2DArtVelocity.cpp, servoAfma4Point2DCamVelocity.cpp, servoAfma4Point2DCamVelocityKalman.cpp, servoAfma62DhalfCamVelocity.cpp, servoAfma6Cylinder2DCamVelocity.cpp, servoAfma6Cylinder2DCamVelocitySecondaryTask.cpp, servoAfma6Ellipse2DCamVelocity.cpp, servoAfma6FourPoints2DArtVelocity.cpp, servoAfma6FourPoints2DCamVelocityLs_cur.cpp, servoAfma6FourPoints2DCamVelocityLs_des.cpp, servoAfma6Line2DCamVelocity.cpp, servoAfma6Point2DArtVelocity.cpp, servoAfma6Point2DCamVelocity.cpp, servoAfma6Points2DCamVelocityEyeToHand.cpp, servoAfma6Segment2DCamVelocity.cpp, servoAfma6SquareLines2DCamVelocity.cpp, servoAfma6TwoLines2DCamVelocity.cpp, servoBebop2.cpp, servoBiclopsPoint2DArtVelocity.cpp, servoFlirPtuIBVS.cpp, servoFrankaIBVS.cpp, servoFrankaPBVS.cpp, servoMomentImage.cpp, servoMomentPoints.cpp, servoMomentPolygon.cpp, servoPioneerPanSegment3D.cpp, servoPioneerPoint2DDepth.cpp, servoPioneerPoint2DDepthWithoutVpServo.cpp, servoPtu46Point2DArtVelocity.cpp, servoSimu3D_cdMc_CamVelocity.cpp, servoSimu3D_cdMc_CamVelocityWithoutVpServo.cpp, servoSimu3D_cMcd_CamVelocity.cpp, servoSimu3D_cMcd_CamVelocityWithoutVpServo.cpp, servoSimu4Points.cpp, servoSimuAfma6FourPoints2DCamVelocity.cpp, servoSimuCircle2DCamVelocity.cpp, servoSimuCircle2DCamVelocityDisplay.cpp, servoSimuCylinder.cpp, servoSimuCylinder2DCamVelocityDisplay.cpp, servoSimuCylinder2DCamVelocityDisplaySecondaryTask.cpp, servoSimuFourPoints2DCamVelocity.cpp, servoSimuFourPoints2DCamVelocityDisplay.cpp, servoSimuFourPoints2DPolarCamVelocityDisplay.cpp, servoSimuLine2DCamVelocityDisplay.cpp, servoSimuPoint2DCamVelocity1.cpp, servoSimuPoint2DCamVelocity2.cpp, servoSimuPoint2DCamVelocity3.cpp, servoSimuPoint2DhalfCamVelocity1.cpp, servoSimuPoint2DhalfCamVelocity2.cpp, servoSimuPoint2DhalfCamVelocity3.cpp, servoSimuPoint3DCamVelocity.cpp, servoSimuSphere.cpp, servoSimuSphere2DCamVelocity.cpp, servoSimuSphere2DCamVelocityDisplay.cpp, servoSimuSphere2DCamVelocityDisplaySecondaryTask.cpp, servoSimuSquareLine2DCamVelocityDisplay.cpp, servoSimuThetaUCamVelocity.cpp, servoSimuViper850FourPoints2DCamVelocity.cpp, servoViper650FourPoints2DArtVelocityLs_cur.cpp, servoViper650FourPoints2DCamVelocityLs_cur-SR300.cpp, servoViper650FourPoints2DCamVelocityLs_cur.cpp, servoViper650Point2DCamVelocity.cpp, servoViper850FourPoints2DArtVelocityLs_cur.cpp, servoViper850FourPoints2DArtVelocityLs_des.cpp, servoViper850FourPoints2DCamVelocityLs_cur.cpp, servoViper850FourPointsKinect.cpp, servoViper850Point2DArtVelocity-jointAvoidance-basic.cpp, servoViper850Point2DArtVelocity-jointAvoidance-gpa.cpp, servoViper850Point2DArtVelocity-jointAvoidance-large.cpp, servoViper850Point2DArtVelocity.cpp, servoViper850Point2DCamVelocity.cpp, servoViper850Point2DCamVelocityKalman.cpp, SickLDMRS-Acq.cpp, SickLDMRS-Process.cpp, simulateCircle2DCamVelocity.cpp, simulateFourPoints2DCartesianCamVelocity.cpp, simulateFourPoints2DPolarCamVelocity.cpp, sonarPioneerReader.cpp, templateTracker.cpp, testAfma4.cpp, testAfma6.cpp, testAutoThreshold.cpp, testClient.cpp, testConnectedComponents.cpp, testContours.cpp, testConversion.cpp, testCrop.cpp, testCropAdvanced.cpp, testDisplacement.cpp, testDisplays.cpp, testFeature.cpp, testFeatureSegment.cpp, testFindMatch.cpp, testFloodFill.cpp, testFrankaCartForceTorque-2.cpp, testFrankaCartForceTorque.cpp, testFrankaCartVelocity-2.cpp, testFrankaCartVelocity-3.cpp, testFrankaCartVelocity.cpp, testFrankaGetPose.cpp, testFrankaJointPosition.cpp, testFrankaJointTorque.cpp, testFrankaJointVelocity-2.cpp, testFrankaJointVelocity-3.cpp, testFrankaJointVelocity.cpp, testFrankaJointVelocityLimits.cpp, testGenericTracker.cpp, testGenericTrackerDepth.cpp, testHistogram.cpp, testImageAddSub.cpp, testImageComparison.cpp, testImageDifference.cpp, testImageFilter.cpp, testImageGetValue.cpp, testImageMorphology.cpp, testImageNormalizedCorrelation.cpp, testImageResize.cpp, testImageTemplateMatching.cpp, testImgproc.cpp, testIoPGM.cpp, testIoPPM.cpp, testIoTools.cpp, testKalmanAcceleration.cpp, testKalmanVelocity.cpp, testKeyPoint-2.cpp, testKeyPoint-3.cpp, testKeyPoint-4.cpp, testKeyPoint-5.cpp, testKeyPoint-6.cpp, testKeyPoint-7.cpp, testKeyPoint.cpp, testMatrix.cpp, testMatrixConvolution.cpp, testMatrixDeterminant.cpp, testMatrixException.cpp, testMatrixInitialization.cpp, testMatrixInverse.cpp, testMatrixPseudoInverse.cpp, testNurbs.cpp, testPerformanceLUT.cpp, testPose.cpp, testPoseFeatures.cpp, testPoseRansac.cpp, testPylonGrabber.cpp, testQbSoftHand.cpp, testReadImage.cpp, testRealSense_R200.cpp, testRealSense_SR300.cpp, testRobotAfma4.cpp, testRobotAfma6.cpp, testRobotAfma6Pose.cpp, testRobotBebop2.cpp, testRobotFlirPtu.cpp, testRobotViper650-frames.cpp, testRobotViper850-frames.cpp, testRobotViper850.cpp, testRobotViper850Pose.cpp, testRobust.cpp, testServer.cpp, testSvd.cpp, testTime.cpp, testTrackDot.cpp, testTwistMatrix.cpp, testUDPClient.cpp, testUDPServer.cpp, testUndistortImage.cpp, testVideoDeviceDual.cpp, testViper650.cpp, testViper850.cpp, testVirtuose.cpp, testVirtuoseAfma6.cpp, testVirtuoseHapticBox.cpp, testVirtuoseJointLimits.cpp, testVirtuosePeriodicFunction.cpp, testXmlParser.cpp, trackDot.cpp, trackDot2.cpp, trackDot2WithAutoDetection.cpp, trackKltOpencv.cpp, trackMeCircle.cpp, trackMeEllipse.cpp, trackMeLine.cpp, trackMeNurbs.cpp, tutorial-apriltag-detector-live-rgbd-realsense.cpp, tutorial-apriltag-detector-live.cpp, tutorial-apriltag-detector.cpp, tutorial-barcode-detector-live.cpp, tutorial-barcode-detector.cpp, tutorial-blob-auto-tracker.cpp, tutorial-detection-object-mbt-deprecated.cpp, tutorial-detection-object-mbt.cpp, tutorial-detection-object-mbt2-deprecated.cpp, tutorial-detection-object-mbt2.cpp, tutorial-dnn-object-detection-live.cpp, tutorial-draw-cross.cpp, tutorial-draw-line.cpp, tutorial-draw-point.cpp, tutorial-draw-rectangle.cpp, tutorial-draw-text.cpp, tutorial-face-detector-live.cpp, tutorial-face-detector.cpp, tutorial-franka-acquire-calib-data.cpp, tutorial-grabber-1394-writer.cpp, tutorial-grabber-1394.cpp, tutorial-grabber-basler-pylon.cpp, tutorial-grabber-bebop2.cpp, tutorial-grabber-CMU1394.cpp, tutorial-grabber-flycapture.cpp, tutorial-grabber-opencv.cpp, tutorial-grabber-realsense.cpp, tutorial-grabber-v4l2.cpp, tutorial-ibvs-4pts-display.cpp, tutorial-ibvs-4pts-image-tracking.cpp, tutorial-ibvs-4pts-ogre-tracking.cpp, tutorial-ibvs-4pts-ogre.cpp, tutorial-ibvs-4pts-plotter-continuous-gain-adaptive.cpp, tutorial-ibvs-4pts-plotter-gain-adaptive.cpp, tutorial-ibvs-4pts-plotter.cpp, tutorial-ibvs-4pts-wireframe-camera.cpp, tutorial-ibvs-4pts-wireframe-robot-afma6.cpp, tutorial-ibvs-4pts-wireframe-robot-viper.cpp, tutorial-ibvs-4pts.cpp, tutorial-image-converter.cpp, tutorial-image-display-scaled-auto.cpp, tutorial-image-display-scaled-manu.cpp, tutorial-image-display.cpp, tutorial-image-filter.cpp, tutorial-image-manipulation.cpp, tutorial-image-reader.cpp, tutorial-image-simulator.cpp, tutorial-image-viewer.cpp, tutorial-klt-tracker-live-v4l2.cpp, tutorial-klt-tracker-with-reinit.cpp, tutorial-klt-tracker.cpp, tutorial-mb-edge-tracker.cpp, tutorial-mb-generic-tracker-apriltag-rs2.cpp, tutorial-mb-generic-tracker-apriltag-webcam.cpp, tutorial-mb-generic-tracker-full.cpp, tutorial-mb-generic-tracker-live.cpp, tutorial-mb-generic-tracker-rgbd-realsense.cpp, tutorial-mb-generic-tracker-rgbd.cpp, tutorial-mb-generic-tracker-stereo-mono.cpp, tutorial-mb-generic-tracker-stereo.cpp, tutorial-mb-generic-tracker.cpp, tutorial-mb-hybrid-tracker.cpp, tutorial-mb-klt-tracker.cpp, tutorial-mb-tracker-full.cpp, tutorial-mb-tracker-stereo-mono.cpp, tutorial-mb-tracker-stereo.cpp, tutorial-mb-tracker.cpp, tutorial-me-ellipse-tracker.cpp, tutorial-me-line-tracker.cpp, tutorial-pioneer-robot.cpp, tutorial-pose-from-points-image.cpp, tutorial-pose-from-points-live.cpp, tutorial-pose-from-qrcode-image.cpp, tutorial-simu-pioneer-continuous-gain-adaptive.cpp, tutorial-simu-pioneer-continuous-gain-constant.cpp, tutorial-simu-pioneer-pan.cpp, tutorial-simu-pioneer.cpp, tutorial-undistort.cpp, tutorial-video-reader.cpp, tutorial-video-recorder.cpp, tutorial-viewer.cpp, videoReader.cpp, and wireframeSimulator.cpp.

Definition at line 70 of file vpException.h.

Member Enumeration Documentation

◆ generalExceptionEnum

Enumerator
memoryAllocationError 

Memory allocation error.

memoryFreeError 

Memory free error.

functionNotImplementedError 

Function not implemented.

ioError 

I/O error.

cannotUseConstructorError 

Contructor error.

notImplementedError 

Not implemented.

divideByZeroError 

Division by zero.

dimensionError 

Bad dimension.

fatalError 

Fatal error.

badValue 

Used to indicate that a value is not in the allowed range.

notInitialized 

Used to indicate that a parameter is not initialized.

Definition at line 86 of file vpException.h.

Constructor & Destructor Documentation

◆ vpException() [1/5]

vpException::vpException ( )
inlineprotected

forbid the empty constructor (protected)

Definition at line 83 of file vpException.h.

◆ vpException() [2/5]

vpException::vpException ( int  code,
const char *  format,
va_list  args 
)

Definition at line 63 of file vpException.cpp.

References setMessage().

◆ vpException() [3/5]

vpException::vpException ( int  code,
const char *  format,
  ... 
)

Definition at line 55 of file vpException.cpp.

References setMessage().

◆ vpException() [4/5]

vpException::vpException ( int  code,
const std::string &  msg 
)

Definition at line 53 of file vpException.cpp.

◆ vpException() [5/5]

vpException::vpException ( int  code)
explicit

Definition at line 51 of file vpException.cpp.

◆ ~vpException()

virtual vpException::~vpException ( )
inlinevirtual

Basic destructor. Do nothing but implemented to fit the inheritance from std::exception

Definition at line 110 of file vpException.h.

Member Function Documentation

◆ getCode()

int vpException::getCode ( void  )

Send the object code.

Examples
parallelPort.cpp, and ringLight.cpp.

Definition at line 93 of file vpException.cpp.

References code.

◆ getMessage()

const char * vpException::getMessage ( void  ) const

send a pointer on the array of char related to the error string. Cannot be NULL.

Examples
fernClassifier.cpp, mbot-apriltag-2D-half-vs.cpp, mbot-apriltag-ibvs.cpp, mbot-apriltag-pbvs.cpp, moveBiclops.cpp, parallelPort.cpp, servoBiclopsPoint2DArtVelocity.cpp, servoFlirPtuIBVS.cpp, servoViper650FourPoints2DArtVelocityLs_cur.cpp, servoViper650FourPoints2DCamVelocityLs_cur-SR300.cpp, servoViper650FourPoints2DCamVelocityLs_cur.cpp, servoViper650Point2DCamVelocity.cpp, servoViper850FourPoints2DArtVelocityLs_cur.cpp, servoViper850FourPoints2DArtVelocityLs_des.cpp, servoViper850FourPoints2DCamVelocityLs_cur.cpp, servoViper850FourPointsKinect.cpp, servoViper850Point2DArtVelocity-jointAvoidance-basic.cpp, servoViper850Point2DArtVelocity-jointAvoidance-gpa.cpp, servoViper850Point2DArtVelocity-jointAvoidance-large.cpp, servoViper850Point2DArtVelocity.cpp, servoViper850Point2DCamVelocity.cpp, servoViper850Point2DCamVelocityKalman.cpp, testConversion.cpp, testDisplays.cpp, testReadImage.cpp, testRobotFlirPtu.cpp, testRobotViper650-frames.cpp, testRobotViper850-frames.cpp, testTrackDot.cpp, trackMeNurbs.cpp, tutorial-apriltag-detector-live-rgbd-realsense.cpp, tutorial-apriltag-detector-live.cpp, tutorial-apriltag-detector.cpp, tutorial-barcode-detector.cpp, tutorial-draw-cross.cpp, tutorial-draw-line.cpp, tutorial-draw-point.cpp, tutorial-draw-rectangle.cpp, tutorial-draw-text.cpp, tutorial-face-detector-live.cpp, tutorial-face-detector.cpp, tutorial-flir-ptu-ibvs.cpp, tutorial-image-display-scaled-auto.cpp, tutorial-image-display-scaled-manu.cpp, tutorial-image-display.cpp, tutorial-image-reader.cpp, tutorial-mb-generic-tracker-apriltag-rs2.cpp, tutorial-mb-generic-tracker-apriltag-webcam.cpp, tutorial-mb-tracker-stereo.cpp, tutorial-pose-from-points-image.cpp, tutorial-pose-from-points-live.cpp, tutorial-pose-from-qrcode-image.cpp, and tutorial-video-reader.cpp.

Definition at line 89 of file vpException.cpp.

References message.

Referenced by vpTemplateTracker::trackPyr().

◆ getStringMessage()

◆ setMessage()

◆ what()

const char * vpException::what ( ) const
throw (
)

Overloading of the what() method of std::exception to return the vpException message.

Returns
pointer on the array of char related to the error string.
Examples
frankaGripper.cpp, frankaMoveToPosition.cpp, frankaSavePosition.cpp, getRealSense2Info.cpp, grabRealSense.cpp, grabRealSense2.cpp, grabV4l2MultiCpp11Thread.cpp, servoFlirPtuIBVS.cpp, servoFrankaIBVS.cpp, servoFrankaPBVS.cpp, testAutoThreshold.cpp, testConnectedComponents.cpp, testContours.cpp, testFloodFill.cpp, testFrankaCartForceTorque-2.cpp, testFrankaCartForceTorque.cpp, testFrankaCartVelocity-2.cpp, testFrankaCartVelocity-3.cpp, testFrankaCartVelocity.cpp, testFrankaGetPose.cpp, testFrankaJointPosition.cpp, testFrankaJointTorque.cpp, testFrankaJointVelocity-2.cpp, testFrankaJointVelocity-3.cpp, testFrankaJointVelocity.cpp, testFrankaJointVelocityLimits.cpp, testHistogram.cpp, testImageFilter.cpp, testImgproc.cpp, testIoTools.cpp, testKeyPoint-2.cpp, testKeyPoint-3.cpp, testKeyPoint-4.cpp, testKeyPoint-5.cpp, testKeyPoint-6.cpp, testKeyPoint-7.cpp, testKeyPoint.cpp, testMatrixConvolution.cpp, testMatrixInitialization.cpp, testPerformanceLUT.cpp, testPylonGrabber.cpp, testRealSense_R200.cpp, testRealSense_SR300.cpp, testUDPClient.cpp, testUDPServer.cpp, tutorial-dnn-object-detection-live.cpp, tutorial-franka-acquire-calib-data.cpp, tutorial-mb-generic-tracker-rgbd-realsense.cpp, tutorial-mb-generic-tracker-stereo-mono.cpp, and tutorial-mb-generic-tracker-stereo.cpp.

Definition at line 101 of file vpException.cpp.

Referenced by vpMbDepthDenseTracker::loadConfigFile(), and vpMbDepthNormalTracker::loadConfigFile().

Friends And Related Function Documentation

◆ operator<<

VISP_EXPORT std::ostream& operator<< ( std::ostream &  os,
const vpException art 
)
friend

Print the error structure.

Definition at line 117 of file vpException.cpp.

Member Data Documentation

◆ code

int vpException::code
protected

Contains the error code, see the errorCodeEnum table for details.

Definition at line 74 of file vpException.h.

Referenced by getCode(), and vpSimulatorException::vpSimulatorException().

◆ message

std::string vpException::message
protected

Contains an error message (can be empty)

Definition at line 77 of file vpException.h.

Referenced by getMessage(), getStringMessage(), and setMessage().