Errors
API алдааг хэрхэн дохиолдог, SDK-ууд хэрхэн илэрхийлдэг вэ.
Wire нь ердийн HTTP статус код ашигладаг: амжилтад 2xx, client-ийн алдаанд
(буруу оролт, auth, idempotency зөрчил) 4xx, серверийн алдаанд 5xx.
Алдааны хариу нь машинд уншигдах code, хүнд уншигдах message, болон support
хүсэлтэд иш татаж болох request_id агуулна.
Түгээмэл код
| Статус | Утга |
|---|---|
400 | Буруу хүсэлт (жишээ нь amount_too_small). |
401 | API key байхгүй эсвэл хүчингүй. |
404 | Object олдсонгүй. |
409 | Idempotency зөрчил. |
429 | Rate limit — түр хүлээгээд дахин оролд. |
5xx | Серверийн алдаа — idempotent хүсэлтийг дахин оролдоход аюулгүй. |
SDK дэх алдаа боловсруулалт
SDK бүр code, request_id, status_code-г илрүүлдэг typed алдаа гаргана.
var werr *wire.Error
if errors.As(err, &werr) {
fmt.Println(werr.Code, werr.RequestID, werr.StatusCode)
}try:
client.payment_intents.create(amount=-1)
except wire.WireError as e:
print(e.code, e.request_id, e.status_code)import { WireError } from "@buildry-wire/wire";
try {
await wire.paymentIntents.create({ amount: -1 });
} catch (e) {
if (e instanceof WireError) console.log(e.code, e.requestId, e.statusCode);
}