Любой, какой захотите. Договоритесь сами с собой, что бросаете - его и ловите.

Вот отличный вариант:

```
public class UserInterruptionException extends RuntimeException {
    ...
}
```

```
public class ExitCommand implements Command {
    public void execute(...) {
        throw new UserInterruptionException();
    }
}
```

```
public class Shell {
    ...
    public void interactiveMode() {
        ...
        try {
            getCommand(commandName).execute(commandArgs);
        } catch ... {
            ...
        } catch (UserInterruptionException e) {
            System.exit(0);
        }
    }
    ...
}
```