2011-08-10 10 views
0

私は簡単な質問があります。私のgrailsプロジェクトでは、私はいくつかのWebサービス呼び出しを行っています。検索機能のための呼び出しの1つは、検索に十分な文字が与えられていない場合、タイムアウトする傾向があります。私は必要な文字の数を増やすことができないので、代わりに例外をキャッチし、より詳細なパラメータを追加するようにユーザーに求めるエラーページを表示しようとしています。Apacheエラーはスロークラスと互換性がありません

方法は次のようになります。

import org.apache.http.client.HttpResponseException 

class RestSearchService implements SearchService { 
    List<Person> getPersonSearch(String fName, String lName) throws HttpResponseException { 
     ... 
     // Make the call 
     ... 
    } 
} 

私は、エラーページにリダイレクトするために、コントローラでスローされた例外をキャッチ。私はそれをテストし、このコードは正常に動作するようです。問題は、この方法は、上記(IDEのため、私はSpringSourceのツール・スイートを使用しています)下線と言うことです

Exception HttpResponseException is not compatible with 
throws clause in SearchService.getPersonSearch(String, String) 

誰もがこれを引き起こしている可能性があります何を知っていますか?また、実際に問題が発生したり、アプリが破損するような状況が発生している可能性がありますか?私が言ったように、私はスロー/リダイレクトがチャンピオンのように働いていると言うことができますが、そのエラーは私がアプリをプロダクションに動かすことに神経質になります。事前に

おかげで、

-Mike

答えて

1

私はあなたのインターフェイスSearchServiceは適切ではないと言うでしょう!インタフェース内のメソッド 'getPersonSearch'のシグニチャは何ですか?

その次のように:

List<Person> getPersonSearch(String fName, String lName); 

またはこのような:

List<Person> getPersonSearch(String fName, String lName) throws HttpResponseException; 

もう一つは、あなたが最初のものを持っている場合、thatsのは問題である必要があり、正確です!

+0

コピー/ペーストエラーを指摘してくれてありがとう - 私はそれを修正しました!また、あなたは絶対に正しいです、私は私のインターフェイスにエラーをスローすることを忘れました。助けてくれてありがとう! –

関連する問題