例外処理
「例外」・・・実行時エラー(ユーザーが入力を間違える等)
例外処理では、必ずクローズ処理を行う
try-catch-finally文の構文
finallyは省略可。
複数の例外クラスをキャッチするとき、Exceptionクラスは最後に書かないとコンパイルエラーになる。
(※Exceptionクラスは全例外クラスの基本クラスなので全例外クラスをキャッチすることができる)
try
{
例外が発生する可能性がある処理を書く
}
catch (Exception e) //e は仮引数名
{
例外が発生したときにする処理を書く
例)
Console.WriteLine(e.Message);
Console.WriteLine(e.StackTrace);
}
finally
{
tryブロック内の処理がうまくいったときもcatchに引き継がれたときも、どちらにしろ必ず行う処理を書く
}
例外2種類
「システムエラー」:C#で定めた例外
「ロジックエラー」:仕様上エラーとしているもの
ポイント
- staticクラスはインスタンス化できない。
↑staticクラスには、インスタンス化しなくてもつかえるメンバー(定数など)のみ集めておく。 - コンパイルエラー
参照不可の時点でコンパイルエラーになる。
コメント