例外のトラブルシューティング : System.OverflowException
更新 : 2007 年 11 月
OverflowException 例外は、checked コンテキストの算術演算、キャスト演算、または変換演算でオーバーフローが発生するとスローされます。演算の結果、格納先の型に対して大きすぎる値、無限大、または非数 (NaN) が生成されると、オーバーフローが発生します。
関連するヒント
数値からキャストする場合、値は無限大より小さい有効な数値であることが必要です。
キャスト元の値には、無限大や非数を指定できません。ゼロで除算していないことを確認します。
ゼロで除算すると、通常、この例外が発生します。
解説
オーバーフローが検出される言語では、オーバーフローが発生すると OverflowException 例外がスローされます。たとえば C# の場合、checked キーワードを使用してオーバーフロー状態が検出されます。OverflowException 例外は、checked コンテキストだけで発生します。
整数型または小数型の算術演算や変換による結果が格納先の型の範囲外である場合、次の事態が発生します。
checked コンテキストでは、演算が定数式の場合はコンパイル エラーが発生します。それ以外の場合は、実行時に演算が実行されると OverflowException 例外がスローされます。
unchecked コンテキストでは、結果の格納先の型に収まらない上位ビットが破棄されて、結果が切り詰められます。
参照
処理手順
方法 : Exception Assistant を使用して例外についての情報を調べる