IdHTTP コンポーネントがあり、HTTP エラー (404 など) が発生すると、Indy はメッセージ ボックスを表示します。この「サイレント」を処理し、Indy がこれを表示しないようにしたいと考えています。
これをオフにするパラメータが見つかりませんでした。何か案は?
IdHTTP コンポーネントがあり、HTTP エラー (404 など) が発生すると、Indy はメッセージ ボックスを表示します。この「サイレント」を処理し、Indy がこれを表示しないようにしたいと考えています。
これをオフにするパラメータが見つかりませんでした。何か案は?
Indy はメッセージ ボックスを表示しません。例外をスローします。VCL/FMX フレームワーク内にはデフォルトの例外ハンドラがあり、コードで例外がキャッチされない場合にメッセージ ボックスをユーザーに表示します。したがって、コードで例外をキャッチするだけです。たとえば、次のようになります。
try
{
IdHTTP1->Get(...);
}
catch (const Exception &)
{
// do something...
}
例外フィルタリングをより細かく制御する必要がある場合、すべての Indy 固有の例外は から派生しEIdException
、多くの子孫 ( などEIdHTTPProtocolException
)があります。
try
{
IdHTTP1->Get(...);
}
catch (const EIdHTTPProtocolException &)
{
// an HTTP error occured, do something...
// details about the HTTP error are in the exception object
}
catch (const EIdException &)
{
// a non-HTTP Indy error occured, do something else...
}
catch (const Exception &)
{
// some other error occured, do something else...
}