JavaA2Z

KAB-studio > プログラミング > JavaA2Z > エラーハンドラとは

エラーハンドラ

日本語 違反処理者
英語 error handler
ふりがな えらーはんどら
フリガナ エラーハンドラ

解説

エラーが発生した場合に、そのエラーを処理する機能、クラスメソッド等のこと。
 
何らかのエラーが発生した際の処理を委託するためのハンドラ
イベントハンドラの「イベント」が「エラー」になったものと考えればよい。
 
Javaでは、一般にエラーに対する処理には例外を使用するため、エラーハンドラはあまり使用されない。また、例外処理をエラーハンドラとは呼ばない。
そのため、Javaに関連して「エラーハンドラ」という単語が出てきた場合、それはJavaの外のシステムや、Javaを使用するシステムで発生したエラーを処理するハンドラのことを指す場合が多い。

参考サイト

  • (参考サイトはありません)

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

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

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // 計算クラスにエラーハンドラをセットします。
        Calc calc = new Calc();
        calc.setErrorHandler( new SampleErrorHandler() );
        // nullを渡してわざと例外を発生させます。
        int result = calc.toInt( null );
        // java.lang.NumberFormatException: null
        //     at java.lang.Integer.parseInt(Integer.java:394)
        //     at java.lang.Integer.parseInt(Integer.java:476)
        //     at Calc.toInt(Sample.java:66)
        //     at Sample.main(Sample.java:10)
        System.out.println( result );
        // 0

        // これがエラーハンドラの一般的な例。
        // ただし、こういった複雑なシステムを利用するよりは、
        // 素直に例外を投げた方がいいため、Javaではあまり
        // 使用されません。
    }
}

/**
*   エラーハンドラのためのインターフェイス。
*/
interface ErrorHandler
{
    /**
    *   エラーが発生した際に呼び出されるメソッド。
    */
    public void errored( Exception e );
}

/**
*   エラーハンドラクラス。
*/
class SampleErrorHandler implements ErrorHandler
{
    /**
    *   エラーが発生した際に呼び出されるメソッド。
    */
    public void errored( Exception e )
    {
        // とりあえずスタックトレースを出力します。
        e.printStackTrace();
    }
}

/**
*   変換クラス。
*/
class Calc
{
    /** 使用するエラーハンドラ。 */
    private ErrorHandler errorHandler = null;

    /**
    *   エラーハンドラをセットするメソッド。
    */
    public void setErrorHandler( ErrorHandler errorHandler )
    {
        this.errorHandler = errorHandler;
    }

    /**
    *   数値変換します。
    *   例外が発生したら、ErrorHandlerインターフェイスのerrored()メソッドを呼び出したあと、
    *   0を返します。
    */
    public int toInt( String string )
    {
        try
        {
            return Integer.parseInt( string );
        }
        catch( Exception e )
        {
            // 例外が発生したら、エラーハンドラに渡します。
            errorHandler.errored( e );
            return 0;
        }
    }
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // 計算クラスにエラーハンドラをセットします。
        Calc calc = new Calc();
        calc.setErrorHandler( new SampleErrorHandler() );
        // nullを渡してわざと例外を発生させます。
        int result = calc.toInt( null );
        // java.lang.NumberFormatException: null
        //     at java.lang.Integer.parseInt(Integer.java:394)
        //     at java.lang.Integer.parseInt(Integer.java:476)
        //     at Calc.toInt(Sample.java:66)
        //     at Sample.main(Sample.java:10)
        System.out.println( result );
        // 0

        // これがエラーハンドラの一般的な例。
        // ただし、こういった複雑なシステムを利用するよりは、
        // 素直に例外を投げた方がいいため、Javaではあまり
        // 使用されません。
    }
}

/**
*   エラーハンドラのためのインターフェイス。
*/
interface ErrorHandler
{
    /**
    *   エラーが発生した際に呼び出されるメソッド。
    */
    public void errored( Exception e );
}

/**
*   エラーハンドラクラス。
*/
class SampleErrorHandler implements ErrorHandler
{
    /**
    *   エラーが発生した際に呼び出されるメソッド。
    */
    public void errored( Exception e )
    {
        // とりあえずスタックトレースを出力します。
        e.printStackTrace();
    }
}

/**
*   変換クラス。
*/
class Calc
{
    /** 使用するエラーハンドラ。 */
    private ErrorHandler errorHandler = null;

    /**
    *   エラーハンドラをセットするメソッド。
    */
    public void setErrorHandler( ErrorHandler errorHandler )
    {
        this.errorHandler = errorHandler;
    }

    /**
    *   数値変換します。
    *   例外が発生したら、ErrorHandlerインターフェイスのerrored()メソッドを呼び出したあと、
    *   0を返します。
    */
    public int toInt( String string )
    {
        try
        {
            return Integer.parseInt( string );
        }
        catch( Exception e )
        {
            // 例外が発生したら、エラーハンドラに渡します。
            errorHandler.errored( e );
            return 0;
        }
    }
}

この単語を含むページ

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

「解説」に含まれているページ

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

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