Abrahams によると、3 種類の例外があります。
- ノースロー
- 基本例外保証
- 強力な例外保証
コンポーネントの不変条件が保持され、リソースがリークされないなど、不変条件が保持される基本的な手段 (私が間違っている場合は修正してください)操作開始前とまったく同じです。
不変条件が保持されるとはどういう意味ですか? 変数の1つに有効な値がある場合、それは(たとえばポインターを使用して)保持され
NULL
ませんか?強力な例外保証について言及すると、例外がスローされる前にすべての変数がまったく同じ値を格納するということですか?
例えば :
int main()
{
int j = 1;
int *p = &j;
// do some stuff
j = 2;
throw 1;
}
次に、 をスローした後、値または?j
を保持しますか?2
1
よろしく