JavaA2Z

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

Throwable

日本語 投げられるクラス
英語 throwable
ふりがな すろーあぶる、すろーわぶる
フリガナ スローアブル、スローワブル

解説

J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名java.lang.Throwable。
例外クラスの本当のスーパークラス
例外の親に当たるクラス。Throwableクラスサブクラスであれば例外としての機能を持つと見なされる。throwcatchに使用できるのもThrowableクラスもしくはそのサブクラスのみである。
また、例外としての基本機能も実装されている。「どのような例外か」を説明する文字列や、「本当の発生源」の例外コンストラクタで格納することができ、printStackTrace()メソッドによるスタックトレースの出力やgetCause()メソッドによる「本当の発生源」の取得がえる。
とはいえ、Throwableクラスの直近のサブクラスErrorクラスExceptionクラスであり、Errorクラス例外と呼べないことを考えると、実際の「例外スーパークラス」はExceptionクラスと言える。Throwableクラスは「例外処理が適用できるクラススーパークラス」であるだけで、実際の例外処理に使用することはないだろう。

参考サイト


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

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

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // 例外と同じように投げられます。
        try
        {
            // Throwableを投げます。
            throw new Throwable();
        }
        catch( Throwable e )
        {
            // 投げられたThrowableを拾いました。
            e.printStackTrace();
            // java.lang.Throwable
            //     at Sample.main(Sample.java:10)
            // このように、普通に例外として使えます。
            // 当然ではありますが。
        }
        
        // その他の使い方はExceptionの方を参照。
        // 実際、Throwableを直に使うことは皆無なので。
        
        // throwやcatchに使用できるのは、Throwableの
        // サブクラスのみです。
        try
        {
            // Stringを投げます。
            // throw new String();
            // コンパイルエラー:
            // 型の不一致: String から Throwable には変換できません。
        }
        // catch( String e ){}
        // コンパイルエラー:
        // 型の不一致: String から Throwable には変換できません。
        finally
        {
        }
    }
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // 例外と同じように投げられます。
        try
        {
            // Throwableを投げます。
            throw new Throwable();
        }
        catch( Throwable e )
        {
            // 投げられたThrowableを拾いました。
            e.printStackTrace();
            // java.lang.Throwable
            //     at Sample.main(Sample.java:10)
            // このように、普通に例外として使えます。
            // 当然ではありますが。
        }
        
        // その他の使い方はExceptionの方を参照。
        // 実際、Throwableを直に使うことは皆無なので。
        
        // throwやcatchに使用できるのは、Throwableの
        // サブクラスのみです。
        try
        {
            // Stringを投げます。
            // throw new String();
            // コンパイルエラー:
            // 型の不一致: String から Throwable には変換できません。
        }
        // catch( String e ){}
        // コンパイルエラー:
        // 型の不一致: String から Throwable には変換できません。
        finally
        {
        }
    }
}

この単語を含むページ

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

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

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