Java: Can't send HTTP Post Request in Catch

208 Views Asked by At

I need to post request to an API inside catch to store some logs. But when I put it the request inside catch, it returned: java.io.IOException: Server returned HTTP response code: 500 for URL

Code:

try {
    ...
} catch (Exception e) {
    postRequest(...);
}

Code Post Request to API;

public static Object postRequest(...) throws IOException, ParseException {

    URL url = new URL(API + "/" + pathName);
    HttpURLConnection connection = getHttpURLConnection(url);

    try (OutputStream os = connection.getOutputStream()) {
        byte[] input = body.getBytes("utf-8");
        os.write(input, 0, input.length);
    }

    try {
        StringBuilder response = new StringBuilder();
        InputStreamReader inputStreamReader = new InputStreamReader(connection.getInputStream(), "utf-8");
        BufferedReader br = new BufferedReader(inputStreamReader);
        String responseLine = null;
        while ((responseLine = br.readLine()) != null) {
            response.append(responseLine.trim());
        }


        JSONParser parser = new JSONParser();
        JSONObject obj = (JSONObject) parser.parse(response.toString());

        return obj;

    } catch (IOException err) {
        return null;
    }
}
0

There are 0 best solutions below