例外

FormulaEvaluatorException

FormulaEvaluatorExceptionは数式評価の実行時に式のエラーがあったときに スローされる例外です。以下のメンバ関数を持っています。全ての例外が持っている getMessage()ももちろん有効です。

メンバ関数内容
int getErrorLocation()式中でエラーの発生した箇所を返します。先頭文字が0、次の文字が1、以下同様です。
String getInput()評価しようとした式を返します。
String recommendedMessage()エラー発生時に推奨されるメッセージ(複数行)を返します。下を参照してください。

recommendedMessage()はエラーメッセージ、エラーの発生した式、エラー発生箇所を 視覚的に現すStringを返します。以下のようなイメージです。

Incomplete parenthesis
sin(max(abs(7.5),5)
                   ^
これは、対話的なユーザにエラー発生箇所を視覚的に伝えるのに有効です。

FunctionException

FunctionExceptionは関数登録時にエラーがあったときにスローされる例外です。 以下のメンバ関数を持っています。

メンバ関数内容
String getFunctionName()エラーの発生した箇関数の名前です。

この例外は、java.lang.RuntimeExceptionを継承しているため、コンパイル時にキャッチしなくても コンパイルエラーになりません。コンパイル時にユーザ関数を全て定義してしまうようなプログラムの 場合はキャッチする必要は無いでしょう。逆に、実行時に動的に関数を登録するようなプログラムは 不正な関数登録に備えてこの例外をキャッチする事を検討すべきです。

FunctionEvalException

FunctionEvalExceptionはユーザがjavaでユーザ定義関数をプログラムする際に、 評価実行時に評価できない事象が発生したときにスローする例外です。詳しくは ユーザ関数を参照ください。