From: "kddnewton (Kevin Newton) via ruby-core" <ruby-core@...>
Date: 2024-02-14T13:36:42+00:00
Subject: [ruby-core:116748] [Ruby master Feature#20210] Invalid source encoding raises ArgumentError, not SyntaxError

Issue #20210 has been updated by kddnewton (Kevin Newton).

Status changed from Open to Closed

I think that makes sense! Let's keep it as an argument error. Prism will keep parsing for now, but raise the right error.

----------------------------------------
Feature #20210: Invalid source encoding raises ArgumentError, not SyntaxError
https://bugs.ruby-lang.org/issues/20210#change-106767

* Author: kddnewton (Kevin Newton)
* Status: Closed
* Priority: Normal
----------------------------------------
I was hoping we could change the error that is raised when an invalid source encoding is found from an ArgumentError to a SyntaxError.

First let me say, if this isn't possible for backward compatibility, I understand. Please do not take this as me not caring about backward compatibility.

Right now, if you have the script `# encoding: foo\n"bar"`, it will raise an ArgumentError, not a SyntaxError. If there are other syntax errors in the file, there's no way to concat them together to give feedback to the user. If a user wants to consistently handle the errors coming back from a parse, they currently have to rescue ArgumentError and SyntaxError.

Ideally it would all be SyntaxError, so we could handle them consistently and append all errors together.



-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/