# Remove Unnecessary Thrown Exceptions on Method Signatures

# Description

Removes the following exceptions on method signatures:

  1. Exceptions that are subtypes of already thrown exceptions
  2. Exceptions that are thrown more than once
  3. Exceptions that are inheriting from RuntimeException

# Benefits

Improves the readability by removing code that adds no information on the method signature.

# Tags

# Code Changes

# Declaring a throws exception whose parent type is already thrown

Pre

public void throwingChildAndParent() throws ChildException, ParentException {
	...
}

Post

public void throwingChildAndParent() throws ParentException {
	...
}

# Declaring a throws exceptions more than once

Pre

public void throwingTheSameExceptionTwice() throws Exception, Exception {
	...
}

Post

public void throwingTheSameExceptionTwice() throws Exception {
	...
}

# Declaring a throws Unchecked exception

Pre

public void throwingRuntimeException() throws ArrayIndexOutOfBoundsException {
	...
}

Post

public void throwingRuntimeException() {
	...
}

🛠️ Auto-refactor Available

You can auto-refactor this with jSparrow.
Drop this button to your Eclipse IDE workspace to install jSparrow for free:

Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client

Need help? Check out our installation guide.

# Properties

Property Value
Rule ID RemoveUnnecessaryThrows
First seen in jSparrow version 2.7.0
Minimum Java version 1.1
Remediation cost 2 min
Links