From: "nobu (Nobuyoshi Nakada)" Date: 2022-10-28T11:06:10+00:00 Subject: [ruby-core:110533] [Ruby master Misc#19088] Complex() method with `exception: false` option still raises exception when String argument is in non-ASCII-compatible encoding Issue #19088 has been updated by nobu (Nobuyoshi Nakada). Status changed from Open to Closed `exception:false` is effective only for the content. ASCII incompatible encoding strings are not subjects of parsing. ---------------------------------------- Misc #19088: Complex() method with `exception: false` option still raises exception when String argument is in non-ASCII-compatible encoding https://bugs.ruby-lang.org/issues/19088#change-99859 * Author: andrykonchin (Andrew Konchin) * Status: Closed * Priority: Normal ---------------------------------------- I've noticed a minor inconsistency of the `Complex()` method. When it is called with `exception: false` option I suppose it shouldn't raise any exception. For instance it doesn't raise error in the following cases: ```ruby Complex("1+2ifoobar", exception: false) # => nil Complex("1+2i\0", exception: false) # => nil ``` But it still raises error when argument is in non-ASCII-compatible encoding: ```ruby Complex("1+2i".encode("UTF-16"), exception: false) (irb):4:in `Complex': ASCII incompatible encoding: UTF-16 (Encoding::CompatibilityError) ``` I am wondering if `exception: false` is supposed to suppress this exception as well. -- https://bugs.ruby-lang.org/ Unsubscribe: