Nie jestem tak dobrze zaznajomiony z pakietami wyjątków Javy, jak i .NET. Jestem w sytuacji, w której, jeśli programowałem w C#, rzuciłbym System.InvalidOperationException
.Odpowiada Java .NET System.InvalidOperationException
Zanim utworzę własną podklasę java.lang.RuntimeException
, muszę wiedzieć, czy istnieje podobny wyjątek, jaki powinienem podać w Javie.
Dokładny scenariusz:
Moja klasa jest obiektem wartość, która stanowi metodę int intValue()
, wracając int. Jednak w niektórych sytuacjach bieżąca wartość nie może być podana jako int, więc ta klasa zapewnia także boolean isInteger()
, aby umożliwić użytkownikom API poznanie, kiedy można bezpiecznie wywołać intValue()
.
Jeśli dzwoniący dzwoni pod numer intValue()
, gdy isInteger()
jest false
, powinien zostać zgłoszony wyjątek.
Pytanie brzmi: Jaki typ wyjątku?
Wiem, że to pytanie może nie mieć poprawnej odpowiedzi , ale biorąc pod uwagę, że nie mam dużego doświadczenia w projektowaniu interfejsów Java API, chcę dowiedzieć się od innych deweloperów Javy, czego oczekują od tego scenariusz.
dzięki
możliwe duplikat [Czy istnieje odpowiednik Java z C# 's InvalidOperationException?] (Http://stackoverflow.com/questions/3165701/is-there-a-java-equivalent-of-cs-invalidoperationexception) – Carl