エラーハンドラ
| 日本語 | 違反処理者 |
| 英語 | error handler |
| ふりがな | えらーはんどら |
| フリガナ | エラーハンドラ |
エラーが発生した場合に、そのエラーを処理する機能、クラス、メソッド等のこと。
何らかのエラーが発生した際の処理を委託するためのハンドラ。
イベントハンドラの「イベント」が「エラー」になったものと考えればよい。
Javaでは、一般にエラーに対する処理には例外を使用するため、エラーハンドラはあまり使用されない。また、例外処理をエラーハンドラとは呼ばない。
そのため、Javaに関連して「エラーハンドラ」という単語が出てきた場合、それはJavaの外のシステムや、Javaを使用するシステムで発生したエラーを処理するハンドラのことを指す場合が多い。
何らかのエラーが発生した際の処理を委託するためのハンドラ。
イベントハンドラの「イベント」が「エラー」になったものと考えればよい。
Javaでは、一般にエラーに対する処理には例外を使用するため、エラーハンドラはあまり使用されない。また、例外処理をエラーハンドラとは呼ばない。
そのため、Javaに関連して「エラーハンドラ」という単語が出てきた場合、それはJavaの外のシステムや、Javaを使用するシステムで発生したエラーを処理するハンドラのことを指す場合が多い。
参考サイト
- (参考サイトはありません)
// 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;
}
}
}
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;
}
}
}




