From: Jeremy Thurgood Date: 2008-02-08T21:08:28+09:00 Subject: Re: Timeout::Error This is a cryptographically signed message in MIME format. --------------ms090708040802060800080004 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Joel VanderWerf wrote: > Nobuyoshi Nakada wrote: >> Sorry, I can't remember it correctly now. Perhaps, not to >> happen to be caught accidentally. > > That sounds like a good reason: Not to me. I would expect catching StandardError (implicitly or explicitly) would catch everything I have a reasonable chance of recovering from, including timeouts. This is my standard strategy when I am not entirely sure what exceptions may be thrown by third-party code. There is code in the standard library that throws TimeoutErrors that need to be caught explicitly: require 'open-uri' begin my_file = open("http://www.example.com/file") rescue puts "Sorry, I couldn't open the URL." end In this case, everything /except/ a timeout will be caught. This is inconsistent and confusing behaviour to me, especially as it is not properly documented anywhere that I have seen. --J -- --------------ms090708040802060800080004 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIJaTCC Aw8wggJ4oAMCAQICEDvKk1SqBf0E1mZzHbJoRUwwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UE BhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMT I1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA3MTIwOTE0MjYxNloX DTA4MTIwODE0MjYxNlowczERMA8GA1UEBBMIVGh1cmdvb2QxFzAVBgNVBCoTDkplcmVteSBS aWNoYXJkMSAwHgYDVQQDExdKZXJlbXkgUmljaGFyZCBUaHVyZ29vZDEjMCEGCSqGSIb3DQEJ ARYUamVyaXRoQGplcml0aC56YS5uZXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB AQDD85piSEhUurBsZehSQXZoctIsKyBx0RfWgqsndQ56eONkijBLKoyBkE8VZo7j5ZZ5T/on uUIgGcNQx2FvwJRECOB8GskLQCF0oPZ918LVYtGIgc45h4McdLsqUU/GRx3v73ccLTpGYpb8 CfFU6N47IQU/ItsgzefQ0lCUbdfRCzLSNGKCXrcOqBzN0fctPwChRFths6OL1THsQsbUGIfi yIhz3O7U7Afb06FaY4T8rQUkON9M5Gp94z5eikSNpC21e7KVj0vMWudQigKFexeKye3rdAYv yfJ4VvRRtm5fjLD8/Jrt9dBNU5+0b399CE0N4ZcXpdu/Y7laXluTNKRRAgMBAAGjMTAvMB8G A1UdEQQYMBaBFGplcml0aEBqZXJpdGguemEubmV0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcN AQEFBQADgYEAZbNewFKDYiJK7C28bfxWUm7EveYrvCHH1iZcsl3bak9Ha0JK57yCUYahUfoa siTBL/m0HkLbAhCEp5tjoTGCWcZVZ5gc0BNE8mUkYTWEKESkXKtk9nayFUHbIS9mrLO/GSHJ zow/BOT0gikPmV43CT6gd8pj9ercq08bby6wMpAwggMPMIICeKADAgECAhA7ypNUqgX9BNZm cx2yaEVMMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUg Q29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1h aWwgSXNzdWluZyBDQTAeFw0wNzEyMDkxNDI2MTZaFw0wODEyMDgxNDI2MTZaMHMxETAPBgNV BAQTCFRodXJnb29kMRcwFQYDVQQqEw5KZXJlbXkgUmljaGFyZDEgMB4GA1UEAxMXSmVyZW15 IFJpY2hhcmQgVGh1cmdvb2QxIzAhBgkqhkiG9w0BCQEWFGplcml0aEBqZXJpdGguemEubmV0 MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw/OaYkhIVLqwbGXoUkF2aHLSLCsg cdEX1oKrJ3UOenjjZIowSyqMgZBPFWaO4+WWeU/6J7lCIBnDUMdhb8CURAjgfBrJC0AhdKD2 fdfC1WLRiIHOOYeDHHS7KlFPxkcd7+93HC06RmKW/AnxVOjeOyEFPyLbIM3n0NJQlG3X0Qsy 0jRigl63DqgczdH3LT8AoURbYbOji9Ux7ELG1BiH4siIc9zu1OwH29OhWmOE/K0FJDjfTORq feM+XopEjaQttXuylY9LzFrnUIoChXsXisnt63QGL8nyeFb0UbZuX4yw/Pya7fXQTVOftG9/ fQhNDeGXF6Xbv2O5Wl5bkzSkUQIDAQABozEwLzAfBgNVHREEGDAWgRRqZXJpdGhAamVyaXRo LnphLm5ldDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBQUAA4GBAGWzXsBSg2IiSuwtvG38 VlJuxL3mK7whx9YmXLJd22pPR2tCSue8glGGoVH6GrIkwS/5tB5C2wIQhKebY6ExglnGVWeY HNATRPJlJGE1hChEpFyrZPZ2shVB2yEvZqyzvxkhyc6MPwTk9IIpD5leNwk+oHfKY/Xq3KtP G28usDKQMIIDPzCCAqigAwIBAgIBDTANBgkqhkiG9w0BAQUFADCB0TELMAkGA1UEBhMCWkEx FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYDVQQKExFU aGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZp c2lvbjEkMCIGA1UEAxMbVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIENBMSswKQYJKoZIhvcN AQkBFhxwZXJzb25hbC1mcmVlbWFpbEB0aGF3dGUuY29tMB4XDTAzMDcxNzAwMDAwMFoXDTEz MDcxNjIzNTk1OVowYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5n IChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5n IENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEpjxVc1X7TrnKmVoeaMB1BHCd3+n/ ox7svc31W/Iadr1/DDph8r9RzgHU5VAKMNcCY1osiRVwjt3J8CuFWqo/cVbLrzwLB+fxH5E2 JCoTzyvV84J3PQO+K/67GD4Hv0CAAmTXp6a7n2XRxSpUhQ9IBH+nttE8YQRAHmQZcmC3+wID AQABo4GUMIGRMBIGA1UdEwEB/wQIMAYBAf8CAQAwQwYDVR0fBDwwOjA4oDagNIYyaHR0cDov L2NybC50aGF3dGUuY29tL1RoYXd0ZVBlcnNvbmFsRnJlZW1haWxDQS5jcmwwCwYDVR0PBAQD AgEGMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFQcml2YXRlTGFiZWwyLTEzODANBgkqhkiG 9w0BAQUFAAOBgQBIjNFQg+oLLswNo2asZw9/r6y+whehQ5aUnX9MIbj4Nh+qLZ82L8D0HFAg k3A8/a3hYWLD2ToZfoSxmRsAxRoLgnSeJVCUYsfbJ3FXJY3dqZw5jowgT2Vfldr394fWxghO rvbqNOUQGls1TXfjViF4gtwhGTXeJLHTHUb/XV9lTzGCA2QwggNgAgEBMHYwYjELMAkGA1UE BhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMT I1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhA7ypNUqgX9BNZmcx2yaEVM MAkGBSsOAwIaBQCgggHDMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkF MQ8XDTA4MDIwODEyMDgzN1owIwYJKoZIhvcNAQkEMRYEFIGs1sXVsuXMFX+AUCQXdaBpKXkL MFIGCSqGSIb3DQEJDzFFMEMwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwICAgCAMA0GCCqGSIb3 DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMIGFBgkrBgEEAYI3EAQxeDB2MGIxCzAJ BgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYD VQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIQO8qTVKoF/QTWZnMd smhFTDCBhwYLKoZIhvcNAQkQAgsxeKB2MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3 dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJl ZW1haWwgSXNzdWluZyBDQQIQO8qTVKoF/QTWZnMdsmhFTDANBgkqhkiG9w0BAQEFAASCAQA/ xqs0C0XOajDaeB4xuuna7sCoY7nhCZe0KDK5cJISsg8OsVv0FOymLJjhw29lK6y5JH1Voojs MKCZYSMmOSz6KNOOctrhThQB8M/+ZykcKYOq1ijfI/2BYAQcSArAzkGkW5OIEcKNytyFE8hW m1MKHQ7ygwcaS3st3/jq1MBkCMUF1GYJf7ETk5+SR7c/WatrDe5QQ+4oOKA8+dYK7T4NXTxd ekNIF6z7hMpYUaqH/HVHwfql6D0+nlO2kvgGuDR9xlXQk4ZwT6RphuBUhbo6WRFa/Lgm7N/P mP9cO8teaMCLAMtxBgiv0nv3sd93MLpuYXfhtHHg3TT9hDpqbOdLAAAAAAAA --------------ms090708040802060800080004--