diff options
author | Misaki Shioi <[email protected]> | 2024-12-23 15:05:00 +0900 |
---|---|---|
committer | GitHub <[email protected]> | 2024-12-23 15:05:00 +0900 |
commit | 34e6bb48af2814eefd91968c58c1dede3b56f30e (patch) | |
tree | 02997aea6874fe176c0e30e92a3126e0e5559e10 /ext/socket | |
parent | f2d1c3d3ce80e895b3295443c6bd3d63647d7d04 (diff) |
Improve doc for `Socket::ResolutionError` (#12434)
Also, a topic about Socket::ResolutionError is added to NEWS
Notes
Notes:
Merged-By: shioimm <[email protected]>
Diffstat (limited to 'ext/socket')
-rw-r--r-- | ext/socket/init.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/ext/socket/init.c b/ext/socket/init.c index 83af8c5b0e..8e405609ba 100644 --- a/ext/socket/init.c +++ b/ext/socket/init.c @@ -786,7 +786,17 @@ rsock_getfamily(rb_io_t *fptr) * call-seq: * error_code -> integer * - * Returns the raw error code occurred at name resolution. + * Returns the raw error code indicating the cause of the hostname resolution failure. + * + * begin + * Addrinfo.getaddrinfo("ruby-lang.org", nil) + * rescue Socket::ResolutionError => e + * if e.error_code == Socket::EAI_AGAIN + * puts "Temporary failure in name resolution." + * end + * end + * + * Note that error codes depend on the operating system. */ static VALUE sock_resolv_error_code(VALUE self) @@ -802,7 +812,7 @@ rsock_init_socket_init(void) */ rb_eSocket = rb_define_class("SocketError", rb_eStandardError); /* - * ResolutionError is the error class for socket name resolution. + * Socket::ResolutionError is the error class for hostname resolution. */ rb_eResolution = rb_define_class_under(rb_cSocket, "ResolutionError", rb_eSocket); rb_define_method(rb_eResolution, "error_code", sock_resolv_error_code, 0); |