[ https://issues.apache.org/jira/browse/CAMEL-13437?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Duncan Doyle updated CAMEL-13437: --------------------------------- Description: ThrowExceptionProcessor uses this line of code to retrieve the constructor of an Exception class: {code:java} Constructor<?> constructor = type.getDeclaredConstructor(String.class);{code} The problem is that this will only find constructors defined in the actual class itself, not in its superclasses. This forces users to unnecessarily implement a constructor that excepts a {{String}} in their custom exception classes. Easy fix, use the following method: {code:java} Constructor<?> constructor = type.getConstructor(String.class);{code} Will fix and create a PR. was: ThrowExceptionProcessor uses this line of code to retrieve the constructor of an Exception class: {code:java} Constructor<?> constructor = type.getDeclaredConstructor(String.class);{code} The problem is that this will only find constructors defined in the actual class itself, not in its superclasses. This forces users to unnecessarily implement a constructor that excepts a {{String}} in their custom exception classes. Easy fix, use the following method: {code:java} Constructor<?> constructor = type.getConstructor(String.class);{code} > ThrowExceptionProcessor should use 'getConstructor' instead of > 'getDeclaredConstructor', so it doesn't force users to implement the > constructors of their exception classes. > ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: CAMEL-13437 > URL: https://issues.apache.org/jira/browse/CAMEL-13437 > Project: Camel > Issue Type: Bug > Components: camel-core > Affects Versions: 2.23.2 > Reporter: Duncan Doyle > Priority: Major > > ThrowExceptionProcessor uses this line of code to retrieve the constructor of > an Exception class: > {code:java} > Constructor<?> constructor = type.getDeclaredConstructor(String.class);{code} > The problem is that this will only find constructors defined in the actual > class itself, not in its superclasses. This forces users to unnecessarily > implement a constructor that excepts a {{String}} in their custom exception > classes. > Easy fix, use the following method: > {code:java} > Constructor<?> constructor = type.getConstructor(String.class);{code} > Will fix and create a PR. -- This message was sent by Atlassian JIRA (v7.6.3#76005)