3テラバイト

プログラム関連備忘録サイト。主にゲーム。

C#

C#例外処理の使い方

投稿日:2022年1月23日 更新日:

例外処理

数値文字列を数値に変換するint.Parseメソッドを例に例外処理を行うと、以下のようになります。
try-catchステートメントを使用し、tryブロックに例外を捕捉したいコードを記述すると、例外をスローした場合はそこでコードが終了し、catchブロックに処理が移動します。

catchブロックの引数に捕捉したい例外のクラスを指定すると、その例外発生時にcatchブロックで処理を行うことができます。

この例ではint.Parseメソッドに渡す文字列が数値の形式ではないため、FormatExceptionをスローするため、FormatExceptionを引数に取っているcatchブロックの処理が実行されます。

try
{
  string str = "1-1";
  int num = int.Parse(str);
}
catch (FormatException e)
{
  Console.WriteLine("フォーマットが不適切です");
}

基本の例外クラス

https://docs.microsoft.com/ja-jp/dotnet/api/system.exception?view=net-6.0
以下は上記ページに記載されている基本的な例外のリストです。
System.Exceptionクラスを基底に、さまざまな例外クラスが定義されていますが、これらは多くのメソッドで返される可能性のあるものです。

クラス説明
ArgumentException無効な引数
ArgumentNullException引数がnull
ArgumentOutOfRangeException引数が有効範囲外
DirectoryNotFoundExceptionディレクトリパスが見つからない
DivideByZeroException0除算
DriveNotFoundExceptionドライブが見つからない
FileNotFoundExceptionファイルが見つからない
FormatExceptionフォーマットが不適切
IndexOutOfRangeExceptionインデックスが境界外
InvalidOperationException無効な操作
KeyNotFoundExceptionキーが見つからない
NotImplementedExceptionメソッドが実装されていない
NotSupportedExceptionメソッドがサポートされていない
ObjectDisposedException破棄されたオブジェクト
OverflowExceptionオーバーフローが発生
PathTooLongExceptionパスが最大長を超えている
PlatformNotSupportedExceptionプラットフォームサポート外
RankException次元数の誤り
TimeoutExceptionタイムアウト
UriFormatExceptionURIフォーマット

-C#


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

C#で文字のASCIIコードを取得する方法

こんにちは、今日はC#で文字のASCIIコードを取得する方法についてまとめていきます。 文字のASCIIコードを取得する 文字型の変数を整数型の変数に格納するとその文字の文字コードが格納されます。 以 …

no image

C#でDictionaryで定義したクエリパラメータをURL文字列に連結する

以下のようにURL文字列を定義している時 string url = "https://santerabyte.com"; Dictionaryでクエリパラメータのキーと値を定義し、 …

no image

C#で整数の桁数を取得する

こんにちは、今日はC#で整数の桁数を取得する方法についてまとめていきます。 ToString()を用いる ToString関数でstring型に変換、Lengthで要素数から桁数を求めます。 int …

no image

Unityで実行環境の情報を取得する方法

System.Environmentクラスで現在の環境についての情報が取得できます。 OSバージョン System.OperatingSystem os = System.Environment.OS …

no image

C#で文字列型と列挙型の変換方法

こんにちは、今日はC#で文字列型と列挙型の変換方法についてまとめていきます。 文字列型から列挙型への変換方法 以下のような列挙型が定義されている場合 enum Animal { Cat, Dog } …