From: shevegen@... Date: 2017-06-24T17:36:10+00:00 Subject: [ruby-core:81762] [Ruby trunk Feature#13677] Add more details to error "Name or service not known (SocketError)" Issue #13677 has been updated by shevegen (Robert A. Heiler). In general I agree that error messages should be as useful as possible. (By the way, I think if you indent ruby code here in the bug tracker with four space tokens on the left side aka ' ', colouring will be enabled. Would make it easier for others to read it... let me try it). host = 'nonexistent.example.com'; port = 80 Resolv.getaddress host # => Resolv::ResolvError: no address for nonexistent.example.com Socket.getservbyname host # => SocketError: no such service nonexistent.example.com/tcp Net::HTTP.get Struct.new(:hostname, :port, :scheme).new(host, port, 'http') # => SocketError: Failed to open TCP connection to nonexistent.example.com:80 (getaddrinfo: Name or service not known) ---------------------------------------- Feature #13677: Add more details to error "Name or service not known (SocketError)" https://bugs.ruby-lang.org/issues/13677#change-65459 * Author: dsbonev (Dimitar Bonev) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- ruby version: ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux] ruby script: require 'socket' TCPSocket.new 'nonexistent.example.com', 80 Result: "getaddrinfo: Name or service not known (SocketError)" Expected: "getaddrinfo: Name or service not known for nonexistent.example.com (SocketError)" Why: This will make it easier to resolve errors of this kind by just looking at the logged messages. It is common for production and non-production (development, test) code to connect to different hosts which can produce errors due to wrong configuration. This change will make the ruby stdlib code more consistent as other methods already provide useful error information. Some examples: host = 'nonexistent.example.com'; port = 80 Resolv.getaddress host # => Resolv::ResolvError: no address for nonexistent.example.com Socket.getservbyname host # => SocketError: no such service nonexistent.example.com/tcp Net::HTTP.get Struct.new(:hostname, :port, :scheme).new(host, port, 'http') # => SocketError: Failed to open TCP connection to nonexistent.example.com:80 (getaddrinfo: Name or service not known) If this issue will be resolved, please add any useful information to the error message in addition to the host. -- https://bugs.ruby-lang.org/ Unsubscribe: