Как мне создать «необязательное» исключение?

У меня есть метод, над которым я работаю (я думаю, это имя), и он, по сути, пытается сопоставить часть строки, а затем вернуть исходную часть строки - ту часть, которую я получил, легкие вещи. Метод имеет тип String.

Когда мой метод не может найти шаблон в строке, я хочу, чтобы он возвращал пустую строку. Я также хочу отправить что-то вместе с пустой строкой, чтобы сказать «эй, я не нашел ваш ключ», но я хочу, чтобы это было необязательно.

По сути, это то, что я хочу, чтобы метод выполнял:

public static String getKey(String key) throws KeyNotFoundException {
    if (key.equals("something")) {
        return "great";
    } else {
        throw new KeyNotFoundException();
        return "";
    }
}

Но проблема с этим кодом в том, что return ""; явно недостижим из-за throw new KeyNotFoundException (); .

Если бы я собирался вызвать этот метод, мне пришлось бы использовать блок try {} catch (KeyNotFoundException knf) {} . Однако именно этот блок я хочу сделать необязательным.

Если я решу не обращать внимания на тот факт, что ключ не был найден (например, не использовать try catch), то я просто хочу получить пустую строку при возврате.

Но я также хочу иметь возможность окружить его блоком try-catch, если мне нужно знать, был ли найден ключ для правильного завершения моей операции.

Думаю, я ошибаюсь, но, похоже, не могу придумать альтернативы (новичок в Java), может ли кто-нибудь пролить свет на это, пожалуйста?

5
задан 28 October 2011 в 18:12
поделиться