異常な概念
- プログラムが実行中に例外を発生させることができる
-との例外(例外)バグ差異常予測されるランタイム実行分岐しているバグプログラムにバグあり、動作モードであることが予想されていません
例外(例外)と比較バグ
-異常が
ランタイムゼロに加えて、生成され
た外部ファイルが存在しない開く必要
配列アクセス違反場合
-Bug
野生ポインタ用いて
使用してスタック配列の終了後に解放されない
アレイ処理は、長さのようなものを選択することはできません0
C言語の古典的なアプローチ:他... IF
空隙FUNC(...)
{
IF(異常か否かを判断)
{ 通常のコード・ロジック ; } そうでなければ { 異常コードロジック ; } }
書式#include <iostreamの>
の#include < 文字列 > 使用して名前空間はstdを、二重分割(ダブル A、ダブル B、INT * 有効)
{ CONST ダブルデルタ= 0.000000000000001 。
ダブル RET = 0 ; もし - (((デルタ<B)&&(B <!デルタ)))
{
RET = A / B。*有効= 1 ;
} 他
{ *有効= 0 。
} リターン
RET;
}
int型のmain(int型のargc、char型 * ARGV [])
{
int型有効= 0 。
ダブル R =分割(1、0、&有効)。
もし(有効)
{
COUT << " R = " << R << ENDL。
}
他
{
COUT << " ゼロ...分周" << ENDL。
}
戻り 0 。
}
缺陷
-divide函数有3个参数,难以理解其用法
-divide函数调用后必须判断valid代表的结果
当valid为true时,运算结果正常
当valid为false时,运算过程出现异常