Principle:Openai Openai python Realtime Error Handling
| Knowledge Sources | |
|---|---|
| Domains | Error_Handling, Realtime_Communication |
| Last Updated | 2026-02-15 00:00 GMT |
Overview
An event-based error detection pattern for handling errors received as typed events within a persistent Realtime API WebSocket connection.
Description
Unlike HTTP-based APIs that raise exceptions, the Realtime API delivers errors as events within the WebSocket stream. Error events contain a type discriminator, error code, message, and optional parameter field. Applications must check for error events in their event loop and handle them appropriately (retry, log, disconnect).
WebSocket-level failures (connection drops, protocol errors) are handled separately through standard Python exception handling on the connection context manager.
Usage
Use this principle within any Realtime event loop. Check for event.type == "error" and handle based on the error code and message. Also wrap the connection context manager with try/except for WebSocket-level errors.
Theoretical Basis
# Error handling in event loop
async for event in connection:
if event.type == "error":
log(event.error.type, event.error.code, event.error.message)
if is_recoverable(event.error):
continue
else:
break
# WebSocket-level error handling
try:
async with client.beta.realtime.connect(model=model) as connection:
...
except websockets.exceptions.ConnectionClosed:
reconnect()