Хотя исключение выбрасывается нужное (если строка содержит меньше пробелов):
Exception in thread "main" com.javarush.task.task22.task2202.Solution$TooShortStringException
package com.javarush.task.task22.task2202;
/*
Найти подстроку
*/
public class Solution {
public static void main(String[] args) {
System.out.println(getPartOfString("JavaRush - лучший сервис обучения Java ."));
}
public static String getPartOfString(String string) {
try {
char[] chars = string.toCharArray();
int first = string.indexOf(' ');
int last=0;
int count0fchar = 0;
for (int i = 0; i < chars.length; i++) {
if (chars[i]==' ') count0fchar++; if(count0fchar==4) last=i;
if (count0fchar==5) break;
}
if (string == null || string.isEmpty()) throw new RuntimeException();
string = string.substring(first+1, last+1);
return string;
}
catch (RuntimeException e){
throw new TooShortStringException();
}
}
public static class TooShortStringException extends RuntimeException {
}
}