C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#で範囲外のインデックスの例外をキャプチャするにはどうすればよいですか?


IndexOutOfRangeExceptionは、配列の境界を超えたインデックスを持つ要素にアクセスしようとしたときに発生します。

以下が私たちの配列だとしましょう。 5つの要素があります-

int [] n = new int[5] {66, 33, 56, 23, 81};

ここで、インデックスが5を超える要素にアクセスしようとすると、IndexOutOfRange例外がスローされます-

for (j = 0; j < 10; j++ ) {
Console.WriteLine("Element[{0}] = {1}", j, n[j]);
}

上記の例では、インデックス5より上にアクセスしようとしているため、次のエラーが発生します-

System.IndexOutOfRangeException:インデックスが配列の範囲外でした。

これが完全なコードです-

using System;

namespace Demo {
   class MyArray {
      static void Main(string[] args) {
         try {
            int [] n = new int[5] {66, 33, 56, 23, 81};
            int i,j;
            // error: IndexOutOfRangeException
            for (j = 0; j < 10; j++ ) {
               Console.WriteLine("Element[{0}] = {1}", j, n[j]);
            }
            Console.ReadKey();
         } catch (System.IndexOutOfRangeException e) {
            Console.WriteLine(e);
         }
      }
   }
}

出力

Element[0] = 66
Element[1] = 33
Element[2] = 56
Element[3] = 23
Element[4] = 81
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Demo.MyArray.Main (System.String[] args) [0x00019] in <6ff1dbe1755b407391fe21dec35d62bd>:0

コードはエラーを生成します-

System.IndexOutOfRangeException −Index was outside the bounds of the array.

  1. C++で例外はどのように機能しますか

    C ++では、例外処理はランタイムエラーを処理するプロセスです。例外は、C++で実行時にスローされるイベントです。すべての例外は、std::exceptionクラスから派生します。処理可能なランタイムエラーです。例外を処理しない場合は、例外メッセージを出力してプログラムを終了します。 例外は、C ++標準では、プログラム内で使用できるクラスとして定義されています。親子クラス階層の配置を以下に示します- C++の一般的な例外クラスは-です。 Sr.No。 例外と説明 1 std ::exception これは、すべての標準C++例外の例外および親クラスです。

  2. Chromebook でスクリーンショットをキャプチャする方法

    Chromebook は、ユーザーの作業と生活を楽にするように設計されたシンプルで複雑でないマシンです。ただし、ブロックの最新の子供であるため、ほとんどの人が気付いていない機能がいくつかあります.私たちのほとんどは、Windows または Apple コンピューターでスクリーンショットをキャプチャする方法を知っていますが、Chromebook でスクリーンショットをキャプチャする場合、それらの方法は機能しません。しかし、それが不可能または困難であるという意味ではありません。実際、はるかに簡単で、スクリーンショットをカスタマイズするための複数のオプションもあります. Google Chromeb