JavaA2Z

KAB-studio > プログラミング > JavaA2Z > Exceptionとは

Exception

日本語 例外クラス
英語 exception
ふりがな えくせぷしょん
フリガナ エクセプション

解説

J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名java.lang.Exception。
例外クラススーパークラス
主な例外の親に当たる例外。逆に言うと、このクラスサブクラスが「例外」と呼ばれるクラスということになる。
よってExceptionクラス及びサブクラスは、throwcatchに使用できる「特別なクラス」として扱われる。
「どのような例外か」を説明する文字列や、「本当の発生源」の例外を格納することができる。
自分で例外を新たに宣言定義する場合には、このExceptionクラスサブクラスとして宣言する。
実際には、このクラスThrowableクラスサブクラスであり、例外としての機能のほとんどはThrowableクラス実装されているが、Throwableクラスの性質を考えると「例外スーパークラス」はやはりExceptionクラスと言えるだろう。

参考サイト


(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // とりあえず投げてみます。
        try
        {
            // Exceptionを投げます。
            throw new Exception();
        }
        catch( Exception e )
        {
            // 投げられたExceptionを拾いました。
            e.printStackTrace();
            // java.lang.Exception
            //     at Sample.main(Sample.java:10)
        }

        // 文字列をメッセージとして格納する例。
        try
        {
            // 「どんな例外か」を文字列として
            // 格納することもできます。
            throw new Exception( "やべっ!" );
        }
        catch( Exception e )
        {
            // 投げられたExceptionを拾いました。
            e.printStackTrace();
            // java.lang.Exception: やべっ!
            //     at Sample.main(Sample.java:25)
        }

        // 他の例外を格納する例。
        try
        {
            try
            {
                // NullPointerExceptionを投げます。
                throw new NullPointerException();
            }
            catch( NullPointerException e )
            {
                // 投げられたNullPointerExceptionを拾いました。
                e.printStackTrace();
                // java.lang.NullPointerException
                //     at Sample.main(Sample.java:41)

                // さらに例外を投げます。その際、今受け取った
                // 例外を「原因」として渡します。
                throw new Exception( e );
            }
        }
        catch( Exception e )
        {
            // 投げられたExceptionを拾いました。
            e.printStackTrace();
            // java.lang.Exception: java.lang.NullPointerException
            //     at Sample.main(Sample.java:52)
            // Caused by: java.lang.NullPointerException
            //     at Sample.main(Sample.java:41)
            // このように、元々の例外の情報も格納されています。
        }

        // Exceptionがスーパークラスの例。
        try
        {
            // NullPointerExceptionを投げます。
            throw new NullPointerException();
        }
        catch( Exception e )
        {
            // 投げられたNullPointerExceptionを拾いました。
            e.printStackTrace();
            // java.lang.NullPointerException
            //     at Sample.main(Sample.java:70)
            // このように、Exceptionは例外のスーパークラスなので
            // とりあえずExceptionで拾うことができます。
        }

        // 自分で作った例外クラスの使用例。
        try
        {
            // NewExceptionを投げます。
            throw new NewException();
        }
        catch( NewException e )
        {
            // 投げられたNewExceptionを拾いました。
            e.printStackTrace();
            // NewException
            //     at Sample.main(Sample.java:86)
        }
    }
}

/**
*   新しい自分専用例外クラス。
*/
class NewException extends Exception
{
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // とりあえず投げてみます。
        try
        {
            // Exceptionを投げます。
            throw new Exception();
        }
        catch( Exception e )
        {
            // 投げられたExceptionを拾いました。
            e.printStackTrace();
            // java.lang.Exception
            //     at Sample.main(Sample.java:10)
        }

        // 文字列をメッセージとして格納する例。
        try
        {
            // 「どんな例外か」を文字列として
            // 格納することもできます。
            throw new Exception( "やべっ!" );
        }
        catch( Exception e )
        {
            // 投げられたExceptionを拾いました。
            e.printStackTrace();
            // java.lang.Exception: やべっ!
            //     at Sample.main(Sample.java:25)
        }

        // 他の例外を格納する例。
        try
        {
            try
            {
                // NullPointerExceptionを投げます。
                throw new NullPointerException();
            }
            catch( NullPointerException e )
            {
                // 投げられたNullPointerExceptionを拾いました。
                e.printStackTrace();
                // java.lang.NullPointerException
                //     at Sample.main(Sample.java:41)

                // さらに例外を投げます。その際、今受け取った
                // 例外を「原因」として渡します。
                throw new Exception( e );
            }
        }
        catch( Exception e )
        {
            // 投げられたExceptionを拾いました。
            e.printStackTrace();
            // java.lang.Exception: java.lang.NullPointerException
            //     at Sample.main(Sample.java:52)
            // Caused by: java.lang.NullPointerException
            //     at Sample.main(Sample.java:41)
            // このように、元々の例外の情報も格納されています。
        }

        // Exceptionがスーパークラスの例。
        try
        {
            // NullPointerExceptionを投げます。
            throw new NullPointerException();
        }
        catch( Exception e )
        {
            // 投げられたNullPointerExceptionを拾いました。
            e.printStackTrace();
            // java.lang.NullPointerException
            //     at Sample.main(Sample.java:70)
            // このように、Exceptionは例外のスーパークラスなので
            // とりあえずExceptionで拾うことができます。
        }

        // 自分で作った例外クラスの使用例。
        try
        {
            // NewExceptionを投げます。
            throw new NewException();
        }
        catch( NewException e )
        {
            // 投げられたNewExceptionを拾いました。
            e.printStackTrace();
            // NewException
            //     at Sample.main(Sample.java:86)
        }
    }
}

/**
*   新しい自分専用例外クラス。
*/
class NewException extends Exception
{
}

この単語を含むページ

「サンプルプログラムとか」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2005/03/24
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。