Example

public static class SomeException extends Exception{
public SomeException(String str, int value ){
super( str );
this .value = value;
}
public int getValue() {
return value;
}
private int value;
}

public static void createProblem() throws SomeException {
throw new SomeException( "Problem", 10 ); //$NON-NLS-1$
}

public static void main(String[] args){
try {
createProblem();
} catch ( Exception e ){
if ( e instanceof SomeException ) {
System.out.println( ((SomeException)e).getValue() );
} else {
System.out.println( e.getLocalizedMessage() );
e.printStackTrace();
}
}
}

Solution
Remove instanceof checks on exceptions and add dedicated catch clauses to the try/catch block.

public static class SomeException extends Exception{
public SomeException(String str, int value ){
super( str );
this .value = value;
}
public int getValue() {
return value;
}
private int value;
}

public static void createProblem() throws SomeException {
throw new SomeException( "Problem", 10 ); //$NON-NLS-1$
}

public static void main(String[] args){
try {
createProblem();
} catch ( SomeException e ){
System.out.println( ((SomeException)e).getValue() );
}
}