diff options
author | Vincent Richard <[email protected]> | 2013-11-23 09:16:06 +0000 |
---|---|---|
committer | Vincent Richard <[email protected]> | 2013-11-23 09:16:06 +0000 |
commit | f91b1ec6a08f0b30350c15887763598a145c3889 (patch) | |
tree | 696583cd34bded11cccd39ce2cb0bd31f2d3936d /src/parameterizedHeaderField.cpp | |
parent | Do not throw exception for normal code flow. Removed exceptions::no_such_addr... (diff) | |
download | vmime-f91b1ec6a08f0b30350c15887763598a145c3889.tar.gz vmime-f91b1ec6a08f0b30350c15887763598a145c3889.zip |
Replaced "no_such_parameter" exception with "std::out_of_range". Fixed argument of std::out_of_range.
Diffstat (limited to 'src/parameterizedHeaderField.cpp')
-rw-r--r-- | src/parameterizedHeaderField.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/parameterizedHeaderField.cpp b/src/parameterizedHeaderField.cpp index 19a0502a..95421b3f 100644 --- a/src/parameterizedHeaderField.cpp +++ b/src/parameterizedHeaderField.cpp @@ -454,7 +454,7 @@ void parameterizedHeaderField::insertParameterBefore(shared_ptr <parameter> befo (m_params.begin(), m_params.end(), beforeParam); if (it == m_params.end()) - throw exceptions::no_such_parameter(beforeParam->getName()); + throw std::out_of_range("Invalid position"); m_params.insert(it, param); } @@ -462,6 +462,9 @@ void parameterizedHeaderField::insertParameterBefore(shared_ptr <parameter> befo void parameterizedHeaderField::insertParameterBefore(const size_t pos, shared_ptr <parameter> param) { + if (pos >= m_params.size()) + throw std::out_of_range("Invalid position"); + m_params.insert(m_params.begin() + pos, param); } @@ -472,7 +475,7 @@ void parameterizedHeaderField::insertParameterAfter(shared_ptr <parameter> after (m_params.begin(), m_params.end(), afterParam); if (it == m_params.end()) - throw exceptions::no_such_parameter(afterParam->getName()); + throw std::out_of_range("Invalid position"); m_params.insert(it + 1, param); } @@ -480,6 +483,9 @@ void parameterizedHeaderField::insertParameterAfter(shared_ptr <parameter> after void parameterizedHeaderField::insertParameterAfter(const size_t pos, shared_ptr <parameter> param) { + if (pos >= m_params.size()) + throw std::out_of_range("Invalid position"); + m_params.insert(m_params.begin() + pos + 1, param); } @@ -490,7 +496,7 @@ void parameterizedHeaderField::removeParameter(shared_ptr <parameter> param) (m_params.begin(), m_params.end(), param); if (it == m_params.end()) - throw exceptions::no_such_parameter(param->getName()); + throw std::out_of_range("Invalid position"); m_params.erase(it); } |