掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
IdHttpの例外処理 (ID:27667)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
現在yahoo!デベロッパーネットワークで公開されている「yahoo!カテゴリ検索Webサービス」を使って開発を進めております。 サービスからのレスポンスを取得するのにIdHTTPのGetを使用しているのですが、通常は無事レスポンスが得られるものの、 urlに不備があった場合(urlに単語を入れてやることでその単語のカテゴリ検索の結果をxmlで取得してくれるのですが、一部の半角記号などは検索単語として認識してくれず不備が出てしまいます)などに EIdHTTPProtocolException クラスの例外を生成しました。 'HTTP/1.1 400 Bad Request' のエラーが出てしまいます。 エラーだった場合何も行わないという処理をしたいのですが、 try〜except文でうまくエラー部を飛ばすことが出来ず… 初心者で例外処理を書くのは初めてなのですが、このような使い方であっているでしょうか? ご指導よろしくお願いします。 手続き-------------------------------------------------------- ///getxml手続き///memo2にxmlを取得。 procedure getxml(xmlres:Tstringlist;IdHttp1:TIdHttp;url:string); //xmlをget begin try xmlres.Text:=UTF8Decode(IdHttp1.Get(url)); expect on EIdHTTPProtocolException do begin showmessage('Error!'); ←ここを行う前に止まってしまいます end; end; --------------------------------------------------------- 実行部 keyword:=カテゴリサーチに掛けたい単語 query:=UTF8Encode(keyword); //keywordをUTF8でEncode showmessage(keyword+'を検索しようとしています'); url:='http://api.dir.yahoo.co.jp/Category/V1/directorySearch?appid=searchjunle&integer=1&query='+query; getxml(xmlres,IdHttp1,url); //xmlresにurlの応答を取得 memo2.Lines.Assign(xmlres);
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.