Q:

Will exception be thrown back if try catch is already present with only a specific catch?

I have a java method as follows regarding exception throws
public void wrapException(String input) throws MyBusinessException {

        // do something   

}

MyBusinessException extends Exception class and returns any(every) exception to the caller. My doubt is, 
Imagine my code is now changed to handle one specific exception in a special way as below. 
public void wrapException(String input) throws MyBusinessException {
    try {
        // do something
    } catch (NumberFormatException e) {
        throw new MyBusinessException("there was a number error", e);
    }
}

Would the throws on the method signature still return any exception apart from NumberFormatException to the caller or would I have to redesign the methods as follows? 
public void wrapException(String input) throws MyBusinessException {
    try {
        // do something
    } catch (NumberFormatException e) {
        throw new MyBusinessException("there was a number error", e);
    }
    catch(Exception e) {
     throws MyBusinessException(e.message());
}
}

Appreciate any insight. 

A:

In your first solution, it will just catch exceptions with type NumberFormatException and any class that inherits from it.
public void wrapException(String input) throws MyBusinessException {
    try {
        // do something
    } catch (NumberFormatException e) {
        throw new MyBusinessException("there was a number error", e);
    }
}

However in your later solution, since you have catch(Exception e) in your method body, your method will catch any exception that inherits from Exception class including your very own MyBusinessException. Hence, you don't have to put throws MyBusinessException in the method signature.
public void wrapException(String input) throws MyBusinessException {
    try {
        // do something
    } catch (NumberFormatException e) {
        throw new MyBusinessException("there was a number error", e);
    }
    catch(Exception e) {
     throws MyBusinessException(e.message());
}
}

This is enough;
public void wrapException(String input) {
        try {
            // do something
        } catch (NumberFormatException e) {
            throw new MyBusinessException("there was a number error", e);
        }
        catch(Exception e) {
         throws MyBusinessException(e.message());
    }
    }

