Uploaded image for project: 'Commons BeanUtils'
  1. Commons BeanUtils
  2. BEANUTILS-257

Many of the helper methods expose the java.lang exceptions. I'd like to convert them to RuntimeExceptions

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • 1.8.0
    • 1.9.5
    • Bean / Property Utils
    • None

    Description

      Hello,

      A lot of the helper functions throw checked exceptions (mostly IllegalAccessException, InvocationTargetException and NoSuchMethodException). I'd like to write a patch which converts them all into RuntimeExceptions so the code upstream doesn't have to handle them.

      Rationale: When working with properties, you usually expect the code to work. When working with dynamic properties, you don't care about what went wrong but only that something went wrong. In most cases, it's not possible to fix the problem automatically but the code has to pass the exception up.

      This all calls for non-checked exceptions.

      My patch would be against the SVN version and contain these changes:

      • The old methods would still be there with an E at the end (for "throws a checked exception").
      • The new code would throw exceptions based on a common exception so you can catch all the exceptions thrown in beanutils in one statement. IAE, ITE, etc. would then be derived from this base class so you can still filter them.

      Since this is going to involve some work, I wanted to ask beforehand if you would accept such a patch.

      Best regards.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            digulla Aaron Digulla
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment