11.7.2.3 Error Messaging

The back ends should use the function nnheader-report to report
error conditions—they should not raise errors when they aren’t able to
perform a request. The first argument to this function is the back end
symbol, and the rest are interpreted as arguments to format if
there are multiple of them, or just a string if there is one of them.
This function must always returns nil.

Gnus, in turn, will call nnheader-get-report when it gets a
nil back from a server, and this function returns the most
recently reported message for the back end in question. This function
takes one argument—the server symbol.

Internally, these functions access back-end-status-string,
so the nnchoke back end will have its error message stored in
nnchoke-status-string.