You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Elliotte Rusty Harold (Jira)" <ji...@apache.org> on 2023/10/02 12:21:00 UTC
[jira] [Updated] (IO-813) LastModifiedFileComparator should not throw exceptions, period
[ https://issues.apache.org/jira/browse/IO-813?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Elliotte Rusty Harold updated IO-813:
-------------------------------------
Description:
LastModifiedFileComparator is likely broken by design since it can unexpectedly throw UncheckedIOException. This violates the contract of Comparable.compareTo which is not documented to throw that exception.
I analyzed almost this exact case in detail here: https://medium.com/@elharo/when-you-cant-throw-an-exception-b9f9b0db9ba4
I'm not sure how to fix this now, but I'm tempted to simply deprecate this entire class.
was:
LastModifiedFileComparator is likely broken by design since it can unexpectedly throw UncheckedIOException. This violates the contract of Comparable.compareTo which is not documented to throw that exception.
I analyzed almost this exact case in detail here: https://medium.com/@elharo/when-you-cant-throw-an-exception-b9f9b0db9ba4
I'm not sure how to fix this now, but I'm, tempted to simply deprecate this entire class.
> LastModifiedFileComparator should not throw exceptions, period
> --------------------------------------------------------------
>
> Key: IO-813
> URL: https://issues.apache.org/jira/browse/IO-813
> Project: Commons IO
> Issue Type: Bug
> Reporter: Elliotte Rusty Harold
> Priority: Major
>
> LastModifiedFileComparator is likely broken by design since it can unexpectedly throw UncheckedIOException. This violates the contract of Comparable.compareTo which is not documented to throw that exception.
> I analyzed almost this exact case in detail here: https://medium.com/@elharo/when-you-cant-throw-an-exception-b9f9b0db9ba4
> I'm not sure how to fix this now, but I'm tempted to simply deprecate this entire class.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)