Sample code for 30+ languages & platforms
Java Requires Chilkat v11.2.0+

AI: Diagnosing an Ask Failure

See more AI Examples

Demonstrates how to get information about why a request to the AI provider failed.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.Ai;
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.JsonObject;
import com.chilkatsoft.chilkat2.StringBuilder;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example assumes the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Ai ai = new Ai();

        // The provider can be "openai", "google", "claude", "deepseek", "xai", or "perplexity".
        // Support for additional providers will be added in future versions of Chilkat.
        ai.setProvider("openai");

        // In this case, we're going to cause an intentional failure by using an invalid API key.
        ai.setApiKey("sk-11111111111111111111111111111111111111111111111k");

        // Choose a model.
        ai.setModel("gpt-5.6-terra");

        // Add a text input.
        ai.inputAddText("Say Hello.");

        // Ask the AI for text output.
        try {
            ai.ask("text");
        } catch (ChilkatException e) {
            // If the response status code equals 0, it means the error occurred before receiving the HTTP response.
            // For this case look at the LastErrorText.
            if (ai.getResponseStatusCode() == 0) {
                System.out.println(e.getLastErrorText());
            } else {
                // If we received an error response, the status code will be >= 400.
                // (Ask would've returned true if the response status code was 200.)
                System.out.println("Response status code: " + ai.getResponseStatusCode());

                // The error response (JSON) is available in the LastJsonData.
                JsonObject json = new JsonObject();
                json.setEmitCompact(false);
                ai.getLastJsonData(json);
                System.out.println(json.emit());

                // Sample output:
                // {
                //   "error": {
                //     "message": "Incorrect API key provided: sk-11111***************************************111k. You can find your API key at https://platform.openai.com/account/api-keys.",
                //     "type": "invalid_request_error",
                //     "param": null,
                //     "code": "invalid_api_key"
                //   }
                // }
            }

            return;
        }

        // Get the text response.
        StringBuilder sbResponse = new StringBuilder();
        ai.getOutputTextSb(sbResponse);
        System.out.println(sbResponse.getAsString());
    }
}