try-catch 文
ブロック内で発生した例外を処理します。
定義¶
名前空間: Alice
アセンブリ: Losetta.Runtime.dll
ソースコード: Alice.Core.Flow.cs
ブロック内で発生した例外を処理します。
namespace Alice;
public void try
{
//例外が発生する可能性のある処理
}
catch
{
//例外が発生した場合の処理
}
finally
{
//例外が発生してもしなくても最後に処理される処理
}
対応 | |
---|---|
AliceScript | RC1、RC2、GM、2.0、2.1、2.2、2.3、3.0、4 |
AliceSister | GM、2.0、2.1、2.2、2.3、3.0、4 |
Losetta | 0.8、0.9、0.10、0.11 |
基本¶
try-catch
文は、ブロック内で例外が発生したときに文の外側に例外を伝搬させず、catch
ブロックまたはfinally
ブロックを実行します。
try-catch
文で、try
ブロックは必須ですが、catch
ブロックとfinally
ブロックはどちらか片方だけでも使用できます。次の例では、try
ブロック内で例外を発生させています。
例外情報の受け取り¶
catch
ブロックでは、catch(受け取る変数名)
のように記述することで例外情報を持つExceptionオブジェクトを受け取れます。次の例では、try
ブロック内で発生した例外のメッセージを表示しています。
条件付きcatch¶
catch
ブロックには条件を設定でき、条件に合う例外だけを捕捉できます。
また、catch
ブロックは複数個かけます。どの条件にも一致しなかった例外はブロックの外側に伝搬します。
次に例を示します。