2011年2月11日金曜日

コードを例外安全なものにしよう

例外(exception)安全な関数とは、例外が投げられても、リソース漏れを起こさず、データを有効に保つ関数のこと。そのような関数には、基本保証をするもの、強い保証をするもの、投げ(throw)ない保証をするものがある。
強い保証は、しばしば、「コピーと交換」で実装できる。しかし、強い保証が、すべての関数で実際的であるわけではない。
ある関数内で別の関数を呼び出す場合、「呼び出される関数」より良い保証を「呼び出す関数」ですることは、通常、とても困難である。

0 件のコメント: