On Wed, 8 May 2024 08:59:18 GMT, Pavel Rappo <pra...@openjdk.org> wrote:

>> src/java.base/share/classes/java/io/Console.java line 192:
>> 
>>> 190:      *
>>> 191:      * @param  prompt
>>> 192:      *         A prompt string.
>> 
>> Hello Pavel, should this specify whether `prompt`  can be null?
>
> If we specify that, it would be very much unlike all other `Console` methods 
> that are covered by this:
> 
>     * Unless otherwise specified, passing a {@code null} argument to any 
> method
>     * in this class will cause a {@link NullPointerException} to be thrown.

I haven't given it a try, but a brief look at the code suggests that if the 
console implementation backed by JLine gets used, then a `null` prompt may not 
generate a `NullPointerException` (since JLine appears to allow `null`) whereas 
if the internal JDK console implementation gets used then a 
`NullPointerException` will get thrown. If the expectation is to disallow a 
`null` prompt, then perhaps `Objects.requireNonNull(prompt)` before we hand off 
to the underlying console implementations might be required.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/19112#discussion_r1593809280

Reply via email to