Remove Unnecessary Thrown Exceptions on Method Signatures

Properties

Property Value
First seen in jSparrow version 2.7.0
Minimum Java version 1.1
Remediation cost 2 min
Links Squid:RedundantThrowsDeclarationCheck

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.

Requirement & Tags

Requirements

None

Tags

Java 1.1, Readability

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() {
	...
}