summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c++/src/H5CommonFG.h2
-rw-r--r--c++/src/H5Exception.cpp50
-rw-r--r--c++/src/H5Exception.h37
-rw-r--r--c++/src/H5File.cpp2
-rw-r--r--c++/src/H5File.h2
-rw-r--r--c++/src/H5Group.cpp2
-rw-r--r--c++/src/H5Group.h2
7 files changed, 40 insertions, 57 deletions
diff --git a/c++/src/H5CommonFG.h b/c++/src/H5CommonFG.h
index 2d16282..0d20d77 100644
--- a/c++/src/H5CommonFG.h
+++ b/c++/src/H5CommonFG.h
@@ -116,7 +116,7 @@ class H5_DLLCPP CommonFG {
StrType openStrType( const char* name ) const;
// for H5File and Group to throw appropriate exception
- virtual void throwException(const string& func_name, const string& msg) const = 0;
+ virtual void throwException(const string func_name, const string msg) const = 0;
CommonFG();
virtual ~CommonFG();
diff --git a/c++/src/H5Exception.cpp b/c++/src/H5Exception.cpp
index 807d703..448799e 100644
--- a/c++/src/H5Exception.cpp
+++ b/c++/src/H5Exception.cpp
@@ -22,32 +22,32 @@ namespace H5 {
#endif // H5_NO_STD
#endif
+const string Exception::DEFAULT_MSG("No detailed information provided");
+
// Default constructor
-Exception::Exception() : detailMessage(""), funcName("") {}
+Exception::Exception() {}
-// Constructor taking only a detailed message as string object
-//Exception::Exception(const string& message) : detailMessage(message) {}
+// Constructor taking only a function name
+//Exception::Exception(const string& func_name) : funcName(func_name) {}
// Constructor taking a function name and a detailed message as string objects
-Exception::Exception(const string& func_name, const string& message) : detailMessage(message), funcName(func_name) {}
+Exception::Exception(const string func_name, const string message) : detailMessage(message), funcName(func_name) {}
// Constructor taking a detailed message as character string
// digital alpha (gondolin) produces compilation error at static_cast<string>
// so I replaced this constructor by the one below it
//Exception::Exception( const char* message) : detailMessage(static_cast<string>(message)) {}
-//Exception::Exception(const char* message)
-//{
- //detailMessage = string(message);
-//}
// Constructor taking a function name and a detailed message as character
-// strings
+// pointers
+/*
Exception::Exception(const char* func_name, const char* message)
{
detailMessage = string(message);
if (func_name != NULL)
funcName = string(func_name);
}
+*/
// copy constructor
Exception::Exception( const Exception& orig )
@@ -149,7 +149,7 @@ const char* Exception::getCFuncName() const
// Prints the error stack in a default manner.
void Exception::printError( FILE* stream ) const
{
- herr_t ret_value = H5Eprint( NULL ); // print to stderr
+ herr_t ret_value = H5Eprint(stream); // print to stderr
if( ret_value < 0 )
throw Exception( "Exception::printError", "H5Eprint failed" );
}
@@ -157,53 +157,43 @@ void Exception::printError( FILE* stream ) const
Exception::~Exception() {}
FileIException::FileIException():Exception(){}
-FileIException::FileIException(const string& func_name, const string& message) : Exception(func_name, message) {}
-FileIException::FileIException(const char* func_name, const char* message) : Exception(func_name, message) {}
+FileIException::FileIException(const string func_name, const string message) : Exception(func_name, message) {}
FileIException::~FileIException() {}
GroupIException::GroupIException():Exception(){}
-GroupIException::GroupIException(const string& func_name, const string& message) : Exception(func_name, message) {}
-GroupIException::GroupIException(const char* func_name, const char* message) : Exception(func_name, message) {}
+GroupIException::GroupIException(const string func_name, const string message) : Exception(func_name, message) {}
GroupIException::~GroupIException() {}
DataSpaceIException::DataSpaceIException():Exception(){}
-DataSpaceIException::DataSpaceIException(const string& func_name, const string& message) : Exception(func_name, message) {}
-DataSpaceIException::DataSpaceIException(const char* func_name, const char* message) : Exception(func_name, message) {}
+DataSpaceIException::DataSpaceIException(const string func_name, const string message) : Exception(func_name, message) {}
DataSpaceIException::~DataSpaceIException() {}
DataTypeIException::DataTypeIException():Exception(){}
-DataTypeIException::DataTypeIException(const string& func_name, const string& message) : Exception(func_name, message) {}
-DataTypeIException::DataTypeIException(const char* func_name, const char* message) : Exception(func_name, message) {}
+DataTypeIException::DataTypeIException(const string func_name, const string message) : Exception(func_name, message) {}
DataTypeIException::~DataTypeIException() {}
PropListIException::PropListIException():Exception(){}
-PropListIException::PropListIException(const string& func_name, const string& message) : Exception(func_name, message) {}
-PropListIException::PropListIException(const char* func_name, const char* message) : Exception(func_name, message) {}
+PropListIException::PropListIException(const string func_name, const string message) : Exception(func_name, message) {}
PropListIException::~PropListIException() {}
DataSetIException::DataSetIException():Exception(){}
-DataSetIException::DataSetIException(const string& func_name, const string& message) : Exception(func_name, message) {}
-DataSetIException::DataSetIException(const char* func_name, const char* message) : Exception(func_name, message) {}
+DataSetIException::DataSetIException(const string func_name, const string message) : Exception(func_name, message) {}
DataSetIException::~DataSetIException() {}
AttributeIException::AttributeIException():Exception(){}
-AttributeIException::AttributeIException(const string& func_name, const string& message) : Exception(func_name, message) {}
-AttributeIException::AttributeIException(const char* func_name, const char* message) : Exception(func_name, message) {}
+AttributeIException::AttributeIException(const string func_name, const string message) : Exception(func_name, message) {}
AttributeIException::~AttributeIException() {}
ReferenceException::ReferenceException():Exception(){}
-ReferenceException::ReferenceException(const string& func_name, const string& message) : Exception(func_name, message) {}
-ReferenceException::ReferenceException(const char* func_name, const char* message) : Exception(func_name, message) {}
+ReferenceException::ReferenceException(const string func_name, const string message) : Exception(func_name, message) {}
ReferenceException::~ReferenceException() {}
LibraryIException::LibraryIException():Exception(){}
-LibraryIException::LibraryIException(const string& func_name, const string& message) : Exception(func_name, message) {}
-LibraryIException::LibraryIException(const char* func_name, const char* message) : Exception(func_name, message) {}
+LibraryIException::LibraryIException(const string func_name, const string message) : Exception(func_name, message) {}
LibraryIException::~LibraryIException() {}
IdComponentException::IdComponentException(): Exception() {}
-IdComponentException::IdComponentException(const string& func_name, const string& message) : Exception(func_name, message) {}
-IdComponentException::IdComponentException(const char* func_name, const char* message) : Exception(func_name, message) {}
+IdComponentException::IdComponentException(const string func_name, const string message) : Exception(func_name, message) {}
IdComponentException::~IdComponentException() {}
#ifndef H5_NO_NAMESPACE
diff --git a/c++/src/H5Exception.h b/c++/src/H5Exception.h
index 5f159e8..e160d6e 100644
--- a/c++/src/H5Exception.h
+++ b/c++/src/H5Exception.h
@@ -32,8 +32,7 @@ class H5_DLLCPP Exception {
// Creates an exception with a function name where the failure occurs
// and an optional detailed message
- Exception( const string& func_name, const string& message = 0);
- Exception( const char* func_name, const char* message = NULL);
+ Exception(const string func_name, const string message = DEFAULT_MSG);
// copy constructor
Exception( const Exception& orig);
@@ -85,85 +84,79 @@ class H5_DLLCPP Exception {
#endif
string detailMessage;
string funcName;
+
+ protected:
+ // Default value for detailMessage
+ static const string DEFAULT_MSG;
};
class H5_DLLCPP FileIException : public Exception {
public:
FileIException();
- FileIException( const string& func_name, const string& message = NULL);
- FileIException( const char* func_name, const char* message = NULL);
+ FileIException( const string func_name, const string message = DEFAULT_MSG);
virtual ~FileIException();
};
class H5_DLLCPP GroupIException : public Exception {
public:
GroupIException();
- GroupIException( const string& func_name, const string& message=NULL);
- GroupIException( const char* func_name, const char* message = NULL);
+ GroupIException( const string func_name, const string message = DEFAULT_MSG);
virtual ~GroupIException();
};
class H5_DLLCPP DataSpaceIException : public Exception {
public:
DataSpaceIException();
- DataSpaceIException(const string& func_name, const string& message=NULL);
- DataSpaceIException(const char* func_name, const char* message = NULL);
+ DataSpaceIException(const string func_name, const string message = DEFAULT_MSG);
virtual ~DataSpaceIException();
};
class H5_DLLCPP DataTypeIException : public Exception {
public:
DataTypeIException();
- DataTypeIException(const string& func_name, const string& message = NULL);
- DataTypeIException(const char* func_name, const char* message = NULL);
+ DataTypeIException(const string func_name, const string message = DEFAULT_MSG);
virtual ~DataTypeIException();
};
class H5_DLLCPP PropListIException : public Exception {
public:
PropListIException();
- PropListIException(const string& func_name, const string& message=NULL);
- PropListIException(const char* func_name, const char* message = NULL);
+ PropListIException(const string func_name, const string message = DEFAULT_MSG);
virtual ~PropListIException();
};
class H5_DLLCPP DataSetIException : public Exception {
public:
DataSetIException();
- DataSetIException(const string& func_name, const string& message=NULL);
- DataSetIException(const char* func_name, const char* message = NULL);
+ DataSetIException(const string func_name, const string message = DEFAULT_MSG);
virtual ~DataSetIException();
};
class H5_DLLCPP AttributeIException : public Exception {
public:
AttributeIException();
- AttributeIException(const string& func_name, const string& message=NULL);
- AttributeIException(const char* func_name, const char* message = NULL);
+ AttributeIException(const string func_name, const string message = DEFAULT_MSG);
virtual ~AttributeIException();
};
class H5_DLLCPP ReferenceException : public Exception {
public:
ReferenceException();
- ReferenceException(const string& func_name, const string& message=NULL);
- ReferenceException(const char* func_name, const char* message = NULL);
+ ReferenceException(const string func_name, const string message = DEFAULT_MSG);
virtual ~ReferenceException();
};
class H5_DLLCPP LibraryIException : public Exception {
public:
LibraryIException();
- LibraryIException(const string& func_name, const string& message=NULL);
- LibraryIException(const char* func_name, const char* message = NULL);
+ LibraryIException(const string func_name, const string message = DEFAULT_MSG);
virtual ~LibraryIException();
};
class H5_DLLCPP IdComponentException : public Exception {
public:
IdComponentException();
- IdComponentException(const string& func_name, const string& message=NULL);
- IdComponentException(const char* func_name, const char* message = NULL);
+ IdComponentException(const string func_name, const string message = DEFAULT_MSG);
virtual ~IdComponentException();
};
diff --git a/c++/src/H5File.cpp b/c++/src/H5File.cpp
index 75c9e55..e85700c 100644
--- a/c++/src/H5File.cpp
+++ b/c++/src/H5File.cpp
@@ -185,7 +185,7 @@ void H5File::p_close() const
// exception can be thrown for file or group. The func_name is a member
// function of CommonFG and "H5File::" will be inserted to indicate the
// function called is an implementation of H5File
-void H5File::throwException(const string& func_name, const string& msg) const
+void H5File::throwException(const string func_name, const string msg) const
{
string full_name = func_name;
full_name.insert(0, "H5File::");
diff --git a/c++/src/H5File.h b/c++/src/H5File.h
index 7fccde5..2e088ad 100644
--- a/c++/src/H5File.h
+++ b/c++/src/H5File.h
@@ -40,7 +40,7 @@ class H5_DLLCPP H5File : public IdComponent, public CommonFG {
virtual hid_t getLocId() const;
// Throw file exception
- virtual void throwException(const string& func_name, const string& msg) const;
+ virtual void throwException(const string func_name, const string msg) const;
// Determines if a file, specified by its name, is in HDF5 format
diff --git a/c++/src/H5Group.cpp b/c++/src/H5Group.cpp
index 279c620..03dca68 100644
--- a/c++/src/H5Group.cpp
+++ b/c++/src/H5Group.cpp
@@ -138,7 +138,7 @@ void Group::p_close() const
}
// Throw file exception
-void Group::throwException(const string& func_name, const string& msg) const
+void Group::throwException(const string func_name, const string msg) const
{
string full_name = func_name;
full_name.insert(0, "Group::");
diff --git a/c++/src/H5Group.h b/c++/src/H5Group.h
index 25c1b9e..7967533 100644
--- a/c++/src/H5Group.h
+++ b/c++/src/H5Group.h
@@ -47,7 +47,7 @@ class H5_DLLCPP Group : public H5Object, public CommonFG {
virtual hid_t getLocId() const;
// Throw group exception
- virtual void throwException(const string& func_name, const string& msg) const;
+ virtual void throwException(const string func_name, const string msg) const;
// Used by the API to appropriately close a group