●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

SE養成講座

プログラマ養成講座

C言語講座

Java講座

C#講座

VB講座

C++講座

Ruby講座

Python講座

HTML講座

JavaScript講座

PHP講座

応用情報試験講座

基本情報試験講座

ITパスポート試験講座

Excel基礎講座

Excel応用講座

Excelマクロ講座

ExcelVBA講座

Access基礎講座

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のような宣言は不要ですが、適切な例外の種類・メッセージを心がけると、より安全で分かりやすいコードになります!

 

C#関連用語集

−−−−−  C#  −−−−−

C#の基本単位「クラス(Class)」とは?

クラスから生まれる実体「オブジェクト(Object)」とは?

クラスの実体「インスタンス(Instance)」とは?

オブジェクトの初期化に使う「コンストラクタ(Constructor)」とは?

フィールドへのアクセスを制御!「プロパティ(Property)」とは?

クラスが持つデータ「フィールド(Field)」とは?

クラスの動作を定義する「メソッド(Method)」とは?

既存のクラスを引き継ぐ「継承(Inheritance)」とは?

同じ命令で異なる動きができる「多態性(Polymorphism)」とは?

データを守る「カプセル化(Encapsulation)」とは?

土台だけを用意する「抽象クラス(Abstract Class)」とは?

ルールを定める仕組み「インターフェース(Interface)」とは?

親クラスのメソッドを上書きする「オーバーライド(Override)」とは?

引数の違いで同じ名前が使える「オーバーロード(Overload)」とは?

C#で自分自身を指す「thisキーワード」とは?

親クラスの機能を使う「baseキーワード」とは?

インスタンス不要で使える「static(静的)」とは?

値を変えたくないときに使う「readonly / const(定数)」とは?

メソッドを渡せる仕組み「delegate(デリゲート)」とは?

「何かが起きたら知らせる」仕組み「event(イベント)」とは?

簡潔な書き方ができる「ラムダ式(Lambda Expression)」とは?

C#で使える「LINQ(言語統合クエリ)」とは?

エラーから安全に回復する「例外処理(try-catch-finally)」とは?

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

名前空間やリソースを扱う「usingディレクティブ」とは?

クラスの整理に便利な「namespace(名前空間)」とは?

型を柔軟に扱う「ジェネリクス(Generics)」とは?

データの集まりを扱う「コレクション(List / Dictionary / HashSet)」とは?

処理を止めずに進める「非同期処理(async / await)」とは?

簡単に使えて便利!「自動実装プロパティ」と「プロパティ初期化子」

 

 

学校案内

17,000円の講座から!

質問には24時間以内に返答・質問回数は無制限など万全の学習サポート!

是非ご閲覧下さい!

札幌情報技術学院インターネットカレッジ トップページ