Crystal Report Engine の例外処理
アプリケーションで Crystal Reports を実行すると、Crystal Report Engine によって例外が発生する場合があります。例外が発生すると、エラー ダイアログが表示されたり、レポートの処理が停止したりする可能性があります。例外の原因のいくつかは次のとおりです。
レポート エンジンがデータベースに接続できません。これは、データベースの場所または不正なログオン パラメータがレポート エンジンに渡されたことが原因である可能性があります。テーブルが別のユーザーによってロックされている、データベース エンジンが正しくインストールされていない、テーブルが破損しているなど、他のデータベース エラーが原因である可能性もあります。
パラメータに不正なデータが渡されました。パラメータがコードまたはユーザー入力から誤ったデータを受け取ると
、レポートの実行が停止する可能性があります。たとえば、
数値パラメーターに文字列値が渡されると、レポートの実行が停止します。
Crystal Reports の式にエラーが見つかりました。レポート内の数式の 1 つが正しく評価されない場合、例外
がスローされます。これは、式の構文が正しくないか、ゼロ除算エラーなどの別のプログラム エラーが原因である可能性があります。
レポート エンジンはレポートを開くことができませんでした。これは、誤ったファイル名またはパスが指定された場合、Crystal 以外のレポートが
選択された場合、またはレポートが破損している場合に発生する可能性があります。
Crystal Report Engine に例外自体を処理させて独自のエラー メッセージを表示させることも、自分で例外を処理することもできます。プログラムで例外を処理する利点には、次のようなものがあります。
ユーザーに表示されるエラー メッセージをカスタマイズできます。たとえば、レポートがデータ ソースに接続できない場合に「ログオンに失敗しました」と表示する代わりに、「データベースに接続できません。指定されたログオン パラメータが正しくありません」などのより完全なメッセージを表示できます。これにより、ユーザーにより詳細な情報が提供されます。
アプリケーションのログ ファイルにイベントを書き込むことができます。エラー メッセージ、エラー ID、発生時刻、およびその他の関連情報をログ ファイルに書き込むことができます。これにより、エラーを追跡して後で確認することができます。
独自のコードで例外を処理して、レポートが処理を続行できるようにすることができます。エラーの内容を確認することで、エラーを処理し、正しい情報でレポートを再実行するコードを記述できる場合があります。
http://msdn.microsoft.com/en-us/library/aa288423%28v=vs.71%29.aspx