3

Silk4J テスト環境では、ウィンドウに簡単にアクセスできるように命名規則を使用しています。たとえば、私はできる

SapWindow pt61 = sap.performTransaction("PT61");

SAP で PT61 トランザクションを実行すると、Silk4JwndPT61オブジェクト マップに識別子を持つウィンドウが返されます。

ウィンドウがまだマッピングされていない場合があります。この場合、Silk4J はRuntimeException. 残念ながら、どこでもRuntimeException使用されています。つまり、特定のものではありません。

オブジェクト マップで識別子の存在を確認して、不足している識別子を検出し、何をすべきかを説明するより具体的な (カスタム) 例外をスローする方法はありますか?

私はこのようなことをしたいと思います:

if (!desktop.isValidIdentifier("wndPT61")) {
    throw new Exception("According to our naming convention ... etc.");
}

私が試してみました:

  • のすべてのメソッドを見てきましたが、Desktopそのようなメソッドは存在しません。メソッドはexists() すでにRuntimeException.
  • のすべてのメソッドを見てきましたが、Agentそのようなメソッドは存在しません。
  • デスクトップとエージェントは検索を実行できる最高レベルであるため、このようなメソッドを他のクラスで使用できるようにする必要はないと思います。
  • もちろん、キャッチすることはできますがRuntimeException(現時点ではそうしています)、信頼性は高くありません (そのような例外には他の原因がある可能性があるため)。また、例外メッセージに依存したくありません。
4

0 に答える 0