2012年4月21日土曜日

開発環境

  • Microsoft Windows 7 Home Premium (OS)
  • Microsoft Visual C# 2010 Express Edition (IDE)
  • 言語: C#

独習C# 第3版 ハーバート・シルト (著) エディフィストラーニング株式会社 矢嶋聡 (監修, 翻訳) の第10章(C例外処理)の理解度チェック9、10を解いてみる。

9.

checked、uncheckedは演算結果がオーバーロードした場合に例外を発生させるかどうかを指定する際に使う。

コード

using System;

class Tester
{
    public void Run()
    {
        try
        {
            int a = -10;
            uint n = unchecked((uint)a);
            Console.WriteLine("unchecked: {0}", n);
            uint m = checked((uint)a);
            Console.WriteLine("checked: {0}", m);
        }
        catch (OverflowException e)
        {
            Console.WriteLine(e.Message);
        }
    }
    static void Main()
    {
        Tester t = new Tester();
        t.Run();
    }
}

入出力結果(Console Window)

unchecked: 4294967286
算術演算の結果オーバーフローが発生しました。
続行するには何かキーを押してください . . .

10.

すべての例外を捕捉するには、

catch
{
  // 処理
}

あるいは、

catch(Exception e)
{
  // 処理
}

というcatch句を記述すればいい。

0 コメント:

コメントを投稿