Я не настільки знайомий з пакетами винятків Java, як з пакетами .NET. Я потрапив у ситуацію, коли, програмуючи на C #, я б кинув a System.InvalidOperationException.
Перш ніж створювати власний java.lang.RuntimeExceptionпідклас, мені потрібно знати, чи існує подібний виняток, який я повинен кинути в Java.
Точний сценарій:
Мій клас - це об’єкт значення, який забезпечує int intValue()метод, що повертає int. Однак у деяких ситуаціях поточне значення неможливо надати як int, тому цей клас також надає, boolean isInteger()щоб дозволити користувачам API знати, коли intValue()їх можна безпечно викликати.
Якщо абонент дзвонить, intValue()коли isInteger()є false, слід створити виняток.
І питання: який тип винятку?
Я знаю, що на це запитання може не бути правильної відповіді, але, враховуючи те, що я не маю багато досвіду у розробці Java API, я хочу знати від інших розробників Java, що вони очікують, що їх кинуть у цьому сценарії.
Дякую