I have doubts on how the constructor's body works in case of initialization lists. If the value passed by the constructor are not admitted value and an exception needs to be thrown, is it correct to do something like this?
Foo(int a_) : a(a_) {
if (a>0)
throw std::invalid_argument("positive value!");
};
I am having doubt on how this is evaluated, in case of more complex situations.