●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

意図的にエラーを発生させる「throw(スロー)」とは?

C#では、throw キーワードを使って、意図的に例外(エラー)を発生させることができます。
これを「例外をスローする」と呼び、エラーチェックや条件違反の通知に活用されます。

基本構文

throw new 例外クラス名("エラーメッセージ");
    

例:マイナスの年齢を検出して例外をスロー

public void SetAge(int age) {
    if (age < 0) {
        throw new ArgumentException("年齢は0以上である必要があります");
    }
    Console.WriteLine("年齢:" + age);
}
    

例外をキャッチして再スロー

一度catchで例外を捕まえた後、再度スロー(throw)して上位に伝えることもできます。

try {
    DoSomething();
}
catch (Exception ex) {
    Console.WriteLine("エラーをログに記録:" + ex.Message);
    throw;  // 元の例外をそのまま再スロー
}
    

独自の例外クラスを使う

public class MyCustomException : Exception {
    public MyCustomException(string message) : base(message) { }
}

// 使用例
throw new MyCustomException("カスタムエラーが発生しました");
    

Javaとの違い:C#にはthrowsがない

  • Javaでは、throwsで「このメソッドは例外を投げます」と宣言する必要がある
  • C#では、throws宣言は不要で、throwだけを使う

C#ではすべての例外処理は実行時(ランタイム)に発生し、コンパイル時に明示する必要はありません。

よく使われる例外クラス

  • ArgumentException:不正な引数
  • NullReferenceException:nullにアクセス
  • InvalidOperationException:無効な操作
  • IndexOutOfRangeException:配列の範囲外

まとめ

throw は、C#において例外を発生(スロー)させるためのキーワードです。
条件分岐と組み合わせることで、プログラムの異常を検出し、安全に通知・対処できます。
Javaのthrowsのような宣言は不要ですが、適切な例外の種類・メッセージを心がけると、より安全で分かりやすいコードになります!