JavaA2Z

KAB-studio > プログラミング > JavaA2Z > 投げられるとは

投げられる

日本語 ぽいっ
英語 thrown
ふりがな なげられる
フリガナ ナゲラレル

解説

例外が発生すること、もしくは発生するかもしれないこと。
nullへのアクセス等により自動的に発生する場合と、throwを使用して明示的に「投げる」場合とがある。
投げられた例外は、投げられた箇所以降の処理を(finally内を除いて)スキップし、returnのようにメソッドから返る。それは投げられた例外catchで拾われるまでわれる。
投げられた例外main()メソッドの外まで到達するとプログラムが終了するため、通常はそれまでにcatch拾うことで例外処理う。

参考サイト


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

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

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        try
        {
            // nullが入っているのに操作しようとして、
            //NullPointerExceptionが投げられる場合。
            Object object = null;
            object.toString();
        }
        catch( NullPointerException e )
        {
            e.printStackTrace();
            // java.lang.NullPointerException
            //     at Sample.main(Sample.java:16)
            // nullが入っているのに使おうとしたので
            // NullPointerExceptionが投げられました。
        }

        // 例外が投げられると、投げられた箇所以降の処理は
        // 行われません(finallyを除く)。
        try
        {
            Sample sample = new Sample();
            sample.nullPointerExceptionThrower1();
            System.out.println( "main() : out" );
        }
        catch( NullPointerException e )
        {
            e.printStackTrace();
            // nullPointerExceptionThrower1() : in
            // nullPointerExceptionThrower2() : in
            // nullPointerExceptionThrower3() : in
            // java.lang.NullPointerException
            //     at Sample.nullPointerExceptionThrower3(Sample.java:75)
            //     at Sample.nullPointerExceptionThrower2(Sample.java:63)
            //     at Sample.nullPointerExceptionThrower1(Sample.java:53)
            //     at Sample.main(Sample.java:27)
            // このように、 "nullPointerExceptionThrower*() : out" 
            // の処理は全て行われていません。catchで拾われて
            // やっと止まります。
        }
    }

    /**
    *   通過確認用メソッド1
    */
    private void nullPointerExceptionThrower1()
    {
        System.out.println( "nullPointerExceptionThrower1() : in" );
        nullPointerExceptionThrower2();
        System.out.println( "nullPointerExceptionThrower1() : out" );
    }

    /**
    *   通過確認用メソッド2
    */
    private void nullPointerExceptionThrower2()
    {
        System.out.println( "nullPointerExceptionThrower2() : in" );
        nullPointerExceptionThrower3();
        System.out.println( "nullPointerExceptionThrower2() : out" );
    }

    /**
    *   通過確認用メソッド3
    */
    private void nullPointerExceptionThrower3()
    {
        System.out.println( "nullPointerExceptionThrower3() : in" );
        // ここでNullPointerExceptionを発生させます。
        Object object = null;
        object.toString();
        // NullPointerExceptionが投げられることで、
        // これ以降の処理は実行されません。
        System.out.println( "nullPointerExceptionThrower3() : out" );
    }
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        try
        {
            // nullが入っているのに操作しようとして、
            //NullPointerExceptionが投げられる場合。
            Object object = null;
            object.toString();
        }
        catch( NullPointerException e )
        {
            e.printStackTrace();
            // java.lang.NullPointerException
            //     at Sample.main(Sample.java:16)
            // nullが入っているのに使おうとしたので
            // NullPointerExceptionが投げられました。
        }

        // 例外が投げられると、投げられた箇所以降の処理は
        // 行われません(finallyを除く)。
        try
        {
            Sample sample = new Sample();
            sample.nullPointerExceptionThrower1();
            System.out.println( "main() : out" );
        }
        catch( NullPointerException e )
        {
            e.printStackTrace();
            // nullPointerExceptionThrower1() : in
            // nullPointerExceptionThrower2() : in
            // nullPointerExceptionThrower3() : in
            // java.lang.NullPointerException
            //     at Sample.nullPointerExceptionThrower3(Sample.java:75)
            //     at Sample.nullPointerExceptionThrower2(Sample.java:63)
            //     at Sample.nullPointerExceptionThrower1(Sample.java:53)
            //     at Sample.main(Sample.java:27)
            // このように、 "nullPointerExceptionThrower*() : out" 
            // の処理は全て行われていません。catchで拾われて
            // やっと止まります。
        }
    }

    /**
    *   通過確認用メソッド1
    */
    private void nullPointerExceptionThrower1()
    {
        System.out.println( "nullPointerExceptionThrower1() : in" );
        nullPointerExceptionThrower2();
        System.out.println( "nullPointerExceptionThrower1() : out" );
    }

    /**
    *   通過確認用メソッド2
    */
    private void nullPointerExceptionThrower2()
    {
        System.out.println( "nullPointerExceptionThrower2() : in" );
        nullPointerExceptionThrower3();
        System.out.println( "nullPointerExceptionThrower2() : out" );
    }

    /**
    *   通過確認用メソッド3
    */
    private void nullPointerExceptionThrower3()
    {
        System.out.println( "nullPointerExceptionThrower3() : in" );
        // ここでNullPointerExceptionを発生させます。
        Object object = null;
        object.toString();
        // NullPointerExceptionが投げられることで、
        // これ以降の処理は実行されません。
        System.out.println( "nullPointerExceptionThrower3() : out" );
    }
}

この単語を含むページ

「みだし」に含まれているページ

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