明けましてゴールデンウィーク
どうも!こんばんは!
クローバーフィールドの伊関です。
ゴールデンウィーク終わってしまいましたね。
案の定日常感覚をどこかに忘れてきてしまった伊関でございます。
もう朝起きるのが辛いこと。。。
それでも終わってしまうのがゴールデンウィークなわけでして、
頑張っていかなければならないのです。
酒浸りの廃人からいざ社会復帰!!!
さて、久々のブログ更新で特に目立って面白い話題もございませんので
とっととC#の復習などをやっていこうと思います。
前回までは成績を判定するアプリの作成などを数回に分けて行ってきたわけですが、
今回はまた基礎的な部分です。
・例外が発生した場合の処理を決めておく
例えばある金額に税をかける「AddTax」というボタンメソッドを実行するために金額のテキストボックスに整数値に変更不可能な文字を入れると
money = int.Parse(testBoxMoney.Text);
の部分でエラーが発生し、実行が止まってしまいます。これはint.Parseメソッドが入力されたテキストを整数値に変換することができず異常が発生するからです。この異常のことを「例外」と呼び、例外が発生することを、「例外がスルーされる」とか、「例外が投げられる」といいます。
例外は・・・
・開こうとしたファイルが存在しない。
・数値に変換できない文字列を数値に変換しようとした。
・0で割り算した。
・演算でオーバーフローが発生した。
などいろいろな場面でスルーされます。
・例外処理
これらの例外は「try-catch-finaly」という制御文を用いて「キャッチする」とか「補足する」と呼ばれる検知処理が行えます。投げられた例外をキャッチして対処することを「例外処理」といいます。
try
{
例外が発生するかもしれない処理
}
catch(例外クラス 変数名)
{
例外が発生したときに行う処理
}
fainaly
{
例外の有無に関係なく行いたい処理
}
先ほどの課税ボタンの「AddTax」を修正し、try-catchを使用すると、
private void buttonAddTax_Click(object sender,EventArgs e)
{
int money;
try
{
money=int.Parse(textBoxMoney.Text);
money=addTax(money);
lavelAddTax.Text=money+”円”;
}
catch(FormatException ex)
{
lavelAddTax.Text=ex.Message;
}
}
上のコードを実行し、テキストボックスに整数値に変換不可能な文字を入力すると、”入力文字列の形式が正しくありません”というメッセージが表示され、エラーは起こりません。
以上です。
やっぱりゴールデンウィーク中怠けてたせいか横文字が辛い・・・・。
では!