目次 前へ 次へ

3.5 エラー・ハンドリング

バーコード・モジュールはライブラリの標準エラー・ハンドリングを使用します。エラーが発生した場合(多くはデータ検証が失敗した場合)に備えて例外処理を設けます。エラーは次の2つの方法で処理されます。

次のコードはtry-catchステートメントの使用例です。

<?php
try {
    
$encoder BarcodeFactory::Create(ENCODING_CODE39);
    
$e BackendFactory::Create(BACKEND_IMAGE,$encoder);
    
$e->Stroke('abc123');
} catch( 
JpGraphException $e ) {
        echo 
'Error: ' $e->getMessage()."\n";
}
?>

コードを走らせると次のようなデータ検証エラーの内容を返します。

Error: Data validation failed. Can't encode [abc123] using encoding "CODE 39" 

ここで入力データ文字列上、問題になるのは、「Code 39」シンボロジーはアルファベットの小文字の暗号化をサポートしていないことです。エラー・ハンドラーを必要として、且つ画像エラーを表示したいときには、次のように元の例外処理を再度記述します。

<?php
try {
    
$encoder BarcodeFactory::Create(ENCODING_CODE39);
    
$e BackendFactory::Create(BACKEND_IMAGE,$encoder);
    
$e->Stroke('abc123');
} catch( 
JpGraphException $e ) {
    
JpGraphError::Raise($e->getMessage());
}
?>

JpGraphError::Raise($e->getMessage());

このコードは次のような画像エラーを表示します。


図3.5 画像エラー: バーコードのデータ検証に失敗した例

次に、コマンド・ライン・バーコード・ユーティリティで、他の初期設定エラー・ハンドラーをインストールする別の方法を紹介します。


目次 前へ 次へ