- 締切済み
メソッドの強制脱出について
質問させてください。 メソッドで長い処理をしている場合、その途中である条件のときに、その先の処理をしないでメソッドを終了させる良い方法ってありますか? ループ中ではないので"break""continue"は使用できないので困っています。 ちなみに戻り値も"void"なので"return"も使用できません。 複数処理が考えられるのであれば、いろいろ教えていただきたいと思います。 詳しい方がいらしましたら教えてください。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- gantsu-teacher
- ベストアンサー率36% (4/11)
Threadで実装させればいいと・・・
- fortranxp
- ベストアンサー率26% (181/684)
そのメソッドをtry{ }catch(Exception e){ } で挟んで 例外を発生させるでは?
- pcbeginner
- ベストアンサー率46% (261/560)
>#1さん たぶん普通に基本が分かってないだけだと思いますよ。 return は return 戻り値; とすれば戻り値が返りますが、voidの場合は return; と戻り値を書かなければ戻り値がある場合と同様に処理を終了して呼び出し元に返すことができます。
- aton
- ベストアンサー率47% (160/334)
No.1の方の回答で十分なのですが,若干補足しておくと…。 返り値がvoidの時は,返り値を指定せず単に return; とすればOKです。 異常終了であることを示したいのであれば,例外を,例えば, throw new Exception(); のように投げればOKです。但しこの場合,メソッドの定義部で, void aMethod() throws Exception { ... などとしておかないと,コンパイルが通りません。
- UKY
- ベストアンサー率50% (604/1207)
> ちなみに戻り値も"void"なので"return"も使用できません。 え??? 普通に return すればいいじゃないですか。戻り値が void なんでしょう? 何をどう勘違いしていらっしゃる? いずれにしても、メソッド内の処理を最後まで実行せずにメソッドを脱出するには、return するか例外を投げるかのどっちかです。 > いろいろ教えていただきたいと思います。 質問者さんが何を分かっていて何を分かっていないのかわからないので、どういうことを教えていいのか分かりません。文面から察するに相当な初心者のようですが……。 Java やプログラミング全般についてどのような知識があるのか (どれくらいのことができるスキルがあるのか) 教えていただけませんか。