手段としては2つ、
1つ目は、特定の値が返った場合は処理失敗として扱う。
2つ目は、例外を投げる。
です。
Javaとしては、例外を使うべきだと思います。
Java
1// メソッドを使う際にtry-catch文を書く必要あり
2private long func(long n) throws Exception {
3 if(n > 0) {
4 throw new Exception("nが0より大きい");
5 }
6 return n;
7}
Java
1// try-catch文は書かなくてもよいが、拾わなければそのまま落ちる
2private long func(long n) {
3 if(n > 0) {
4 throw new RuntimeException("nが0より大きい");
5 }
6 return n;
7}
Exception,RuntimeException、または、
標準APIで用意されている例外をそのまま使うこともできますが、
こいつらを継承した独自の例外を作ることも可能です。