aboutsummaryrefslogtreecommitdiffstats
path: root/src/parameterizedHeaderField.cpp
diff options
context:
space:
mode:
authorVincent Richard <[email protected]>2013-11-23 09:16:06 +0000
committerVincent Richard <[email protected]>2013-11-23 09:16:06 +0000
commitf91b1ec6a08f0b30350c15887763598a145c3889 (patch)
tree696583cd34bded11cccd39ce2cb0bd31f2d3936d /src/parameterizedHeaderField.cpp
parentDo not throw exception for normal code flow. Removed exceptions::no_such_addr... (diff)
downloadvmime-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.cpp12
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);
}