apiErrorHandler
A helper that converts an unknown caught error (Axios error, fetch Response, Error, or plain string) into a human-readable error message string. Use it in API error handling to produce consistent user-facing error text.
Import
import { apiErrorHandler } from "@xocialive/ui-components/utils";
Usage
try {
await api.deleteUser(id);
toast.success("User deleted");
} catch (err) {
toast.error(apiErrorHandler(err));
}
With Axios interceptors
axios.interceptors.response.use(
(response) => response,
(error) => {
const message = apiErrorHandler(error);
toast.error(message);
return Promise.reject(error);
}
);
How it resolves the message
Priority order:
error.response.data.message— Axios HTTP error with a message in the bodyerror.response.data.title— Axios HTTP error with a title fielderror.response.statusText— HTTP status text fallbackerror.message— plainError.messageString(error)— last resort cast to string"An unexpected error occurred"— ultimate fallback