次のような C++ コードがあります。
void Student::addCourse(Course cVal, string gr) throw(...) {
try {
GradedCourse c(cVal, gr); // If an exception is thrown here...
coursesTaken.insert(c); // will this statement be executed?
} catch(...) {
throw;
}
}
コースの成績を含む がコンストラクターによって無効であることが判明したGradedCourse
場合、コンストラクターは例外をスローすることがあります。このような例外が発生した場合、ブロックgr
内のステートメントはさらに実行されますか? このような例外が発生すると、(STL セットである)を挿入try
しようとしないと確信できますか? Stack Overflow と Google の両方を検索しましたが、あまり成功しませんでした。GradedCourse
coursesTaken