Exemple

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( "Problème", 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
Supprimez les vérifications par instanceof sur les exceptions et ajoutez des clauses catch dédiées au bloc try/catch.

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( "Problème", 10 ); //$NON-NLS-1$
}

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