JavaA2Z

KAB-studio > プログラミング > JavaA2Z > 例外処理とは

例外処理

日本語 異常事態対処
英語 handling exceptions
ふりがな れいがいしょり
フリガナ レイガイショリ

解説

投げられる例外に対処すること。
特定の例外投げられる可能性がある場合に、その例外を拾い、適切な対処をうようなプログラムを指す。
一般的には、例外投げられる可能性がある範囲をtryで囲み、投げられる可能性のある例外catch拾うことでメソッドの外へと出てくのを止め、何らかの適切な処理をう事を指す。
広義の意味としては、投げられる可能性がある例外throwsで指定することでメソッドの外へと逃がす方法も含む。
例外処理は、プログラム内で必要な「チェック」や「異常への対処」をまとめてえるため、適切に使用することでプログラムをシンプルにすることができる。
反面、様々な異常に対応するため例外の数が限りなく増えたり、throwsで指定した例外の変更の影響範囲が非常に広くなったりと、プログラムの複雑化やメンテナンス性の低下も招く可能性がある。
投げられる可能性がある例外」は、値のチェック等によって「絶対に投げられない」ようにすることができる。たとえばNullPointerExceptionnullチェックをうことで投げられないようにすることができる。このようにすることで、例外処理をわないようにすることもできる。
だが、チェック量が増える事によるプログラムの肥大化や可読性・メンテナンス性低下もあり、またthrowsによって指定された例外は必ず処理する必要があるため、例外処理を減らすというわけにも簡単にはいかない。
決まった答がなく、適切な例外処理は論理的な判断と現場のノウハウによってのみえるが、比較的大きいプロジェクトにおいてそれが全体に適用できるか……Javaにおいて永遠のテーマのひとつと言えるかもしれない。

参考サイト


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

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

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // 最も一般的な例。
        try
        {
            // NullPointerExceptionを投げます。
            // (実際にはこんな分かりやすくないですが)
            throw new NullPointerException();
        }
        catch( NullPointerException e )
        {
            // 投げられたNullPointerExceptionを拾いました。
            e.printStackTrace();
            // java.lang.NullPointerException
            //     at Sample.main(Sample.java:11)
        }
    }
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // 最も一般的な例。
        try
        {
            // NullPointerExceptionを投げます。
            // (実際にはこんな分かりやすくないですが)
            throw new NullPointerException();
        }
        catch( NullPointerException e )
        {
            // 投げられたNullPointerExceptionを拾いました。
            e.printStackTrace();
            // java.lang.NullPointerException
            //     at Sample.main(Sample.java:11)
        }
    }
}

この単語を含むページ

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

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

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