Error Handling
Every operation declares a checked IOException, thrown when the request cannot be executed (network failure, timeout, and so on). In addition, non-successful HTTP responses are mapped to unchecked exceptions:
| HTTP status | Exception |
|---|---|
| 401 | UnauthorizedException |
| 503 | ServiceUnavailableException |
| any other non-2xx | ClientException |
import ai.philterd.philter.model.FilterResponse;
import ai.philterd.philter.model.exceptions.ServiceUnavailableException;
import ai.philterd.philter.model.exceptions.UnauthorizedException;
import ai.philterd.philter.model.exceptions.ClientException;
import java.io.IOException;
try {
FilterResponse response = client.filter("my-context", "default", "Some text...");
System.out.println(response.getFilteredText());
} catch (UnauthorizedException e) {
// Bad or missing API key.
} catch (ServiceUnavailableException e) {
// Philter is temporarily unavailable; consider retrying with backoff.
} catch (ClientException e) {
// Other non-successful response.
} catch (IOException e) {
// The request could not be completed.
}