CRS

Q6 11
通信エラーのハンドリング方法

A6 11
[解決方法]
HttpSessionクラス等の通信系オブジェクトを利用した通信のエラーハンドリングを行う場合、
以下2パターンの方法で通信エラーを捕捉します。

 (1)try〜catch文を利用する
 (2)HttpResponseクラスのStatusプロパティを利用する

通信を開始できない、サーバへのリクエストを送信できないといった場合は、
CRSの例外が発生するため、try〜catch文によってハンドリングすることができます。

ですが、Biz/Browserからサーバへのリクエストを送信後、サーバ側でエラーが発生し
エラーのレスポンスが返されたといった場合は、Biz/Browserのリクエスト送信処理が
正常終了しているため、CRSの例外は発生しません。
このような場合は、HttpResponseオブジェクトのStatusプロパティに格納されている
HTTPステータスコードを参照し、エラーを捕捉します。

(1)(2)を併用したエラーハンドリングの記述方法は、下記サンプルコードを
ご参照ください。

[サンプルコード]
var session = findHTTPSession("http://server");
try{
 var res = session.Post("/test.asp");
 if (res.Status == $HTTP_OK) {
  ^.EditBox1 = res.body;
 }else{
  MessageBox("HTTPステータスコード:" + str(res.Status), "HTTPエラー");
  return;
 }
}catch(e){
 MessageBox(e.method +"-"+ str(e.code) +" "+ e.message, "CRSエラー");
}

  $HTTP_OKは、HTTPステータスコード「200(正常)」を意味します。
  その他の定数については、オンラインマニュアルをご参照ください。

管理番号:CRS_011
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser・Biz/Designer TIPS集 トップへ