Changeset 1967 in Sophya for trunk/SophyaLib


Ignore:
Timestamp:
Apr 26, 2002, 6:48:22 PM (23 years ago)
Author:
ansari
Message:

Ajout throw TypeMismatchExc ds PPersist_X::SetDataObj() ds les differents classes handler PPersist, a place du return simple, lorsque le type d'objet n'etait pas bon ... Reza 26/4/2002

Location:
trunk/SophyaLib
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/BaseTools/fiondblock.cc

    r1426 r1967  
    99#include "pexceptions.h"
    1010#include "fiondblock.h"
     11#include "datatype.h"
     12#include <typeinfo>
    1113
    1214////////////////////////////////////////////////////////////////
     
    7173{
    7274NDataBlock<T> * po = dynamic_cast< NDataBlock<T> * >(&o);
    73 if (po == NULL) throw TypeMismatchExc("FIO_NDataBlock<T>::SetDataObj() - Type Mismatch Error");
     75if (po == NULL) {
     76  char buff[160];
     77  sprintf(buff,"FIO_NDataBlock<T><%s>::SetDataObj(%s) - Object type  error ! ",
     78          DataTypeInfo<T>::getTypeName().c_str(), typeid(o).name());
     79  throw TypeMismatchExc(PExcLongMessage(buff));   
     80}
    7481if (ownobj && dobj) delete dobj;
    7582dobj = po; ownobj = false;
  • trunk/SophyaLib/BaseTools/objfio.h

    r754 r1967  
    2727  virtual   AnyDataObj* DataObj() { return(dobj); }
    2828  virtual   void        SetDataObj(AnyDataObj & o)
    29           {  T * po = dynamic_cast< T * >(& o); if (po == NULL) return;
    30           if (ownobj && dobj) delete dobj;  dobj = po; ownobj = false; }   
    31 
     29  { 
     30    T * po = dynamic_cast< T * >(& o);
     31    if (po == NULL)  {
     32      char buff[160];
     33      sprintf(buff,"ObjFileIO<T>::SetDataObj(%s) - Object type  error ! ",
     34              typeid(o).name());
     35      throw TypeMismatchExc(PExcLongMessage(buff));   
     36    }
     37    if (ownobj && dobj) delete dobj;  dobj = po; ownobj = false;
     38  }   
     39 
    3240  inline operator T() { return(*dobj); }
    3341
  • trunk/SophyaLib/BaseTools/sversion.h

    r1958 r1967  
    33
    44#define SOPHYA_VERSION   1.3
    5 #define SOPHYA_REVISION  55
    6 #define SOPHYA_TAG       "V_Jan2002"
     5#define SOPHYA_REVISION  60
     6#define SOPHYA_TAG       "V_Mar2002"
    77
    88#endif
  • trunk/SophyaLib/NTools/cimage.cc

    r1390 r1967  
    88#include "pexceptions.h"
    99#include "cimage.h"
     10#include "datatype.h"
     11#include <typeinfo>
    1012
    1113/*!
     
    115117{
    116118  Image<T> * po = dynamic_cast< Image<T> * >(&o);
    117   if (po == NULL) return;
     119  if (po == NULL) {
     120    char buff[160];
     121    sprintf(buff,"FIO_Image<%s>::SetDataObj(%s) - Object type  error ! ",
     122            DataTypeInfo<T>::getTypeName().c_str(), typeid(o).name());
     123    throw TypeMismatchExc(PExcLongMessage(buff));       
     124  }
    118125  if (ownobj && dobj) delete dobj;
    119126  dobj = po; ownobj = false;
  • trunk/SophyaLib/SkyMap/fiolocalmap.cc

    r1624 r1967  
    44#include "pexceptions.h"
    55#include "fiondblock.h"
     6#include "datatype.h"
     7#include <typeinfo>
    68
    79//*******************************************************************
     
    7274{
    7375  LocalMap<T> * po = dynamic_cast< LocalMap<T> * >(&o);
    74   if (po == NULL) return;
     76  if (po == NULL) {
     77    char buff[160];
     78    sprintf(buff,"FIO_LocalMap<%s>::SetDataObj(%s) - Object type  error ! ",
     79            DataTypeInfo<T>::getTypeName().c_str(), typeid(o).name());
     80    throw TypeMismatchExc(PExcLongMessage(buff));   
     81  }
    7582  if (ownobj && dobj) delete dobj;
    7683  dobj = po; ownobj = false;
  • trunk/SophyaLib/SkyMap/fiospherethetaphi.cc

    r1624 r1967  
    44#include "pexceptions.h"
    55#include "fiondblock.h"
     6#include "datatype.h"
     7#include <typeinfo>
    68
    79///////////////////////////////////////////////////////////
     
    5759{
    5860  SphereThetaPhi<T> * po = dynamic_cast< SphereThetaPhi<T> * >(&o);
    59   if (po == NULL) return;
     61  if (po == NULL) {
     62    char buff[160];
     63    sprintf(buff,"FIO_SphereThetaPhi<%s>::SetDataObj(%s) - Object type  error ! ",
     64            DataTypeInfo<T>::getTypeName().c_str(), typeid(o).name());
     65    throw TypeMismatchExc(PExcLongMessage(buff));   
     66  }
     67
    6068  if (ownobj && dobj) delete dobj;
    6169  dobj = po; ownobj = false;
  • trunk/SophyaLib/SkyMap/spherepos.cc

    r764 r1967  
    22
    33#include "spherepos.h"
     4#include "datatype.h"
     5#include <typeinfo>
    46
    5 static char *head_spherepos_cc_ = "$Header: /Users/garnier/temp/CVSSophya/SophyaLib/SkyMap/spherepos.cc,v 1.1.1.1 2000-03-02 17:05:39 ansari Exp $";
     7static char *head_spherepos_cc_ = "$Header: /Users/garnier/temp/CVSSophya/SophyaLib/SkyMap/spherepos.cc,v 1.2 2002-04-26 16:48:22 ansari Exp $";
    68
    79
     
    7274{
    7375  SphereCoordSys * po = dynamic_cast<SphereCoordSys *>(&o);
    74   if (po == NULL) return;
     76  if (po == NULL) {
     77    char buff[160];
     78    sprintf(buff,"FIO_SphereCoordSys::SetDataObj(%s) - Object type  error ! ",
     79            typeid(o).name());
     80    throw TypeMismatchExc(PExcLongMessage(buff));   
     81  }
     82
    7583  if (ownobj && dobj) delete dobj; 
    7684  dobj = po; ownobj = false;
Note: See TracChangeset for help on using the changeset viewer.