Clarify I/O error handling
diff --git a/doc/api.rst b/doc/api.rst
index 0b3d023..eacf740 100644
--- a/doc/api.rst
+++ b/doc/api.rst
@@ -49,6 +49,10 @@
 
 *args* is an argument list representing objects to be formatted.
 
+I/O errors are reported as `std::system_error
+<https://en.cppreference.com/w/cpp/error/system_error>`_ exceptions unless
+specified otherwise.
+
 .. _format:
 
 .. doxygenfunction:: format(format_string<T...> fmt, T&&... args) -> std::string