プロが教える店舗&オフィスのセキュリティ対策術

以下のソースでエラーが発生します
return文は書いているのですが
エラー内容は 「return 文が指定されていません」
と出ます。
return文はどこに置けばいいのでしょうか。
よろしくお願いします。

public static int getStdin(){
 try{
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  return (Integer.parseInt(br.readLine()));
 }catch(IOException e){
  System.out.println("標準入出力でのエラー");
 }catch(NumberFormatException e){
  System.out.println("不正な入力が行われました");
 }finally{
  System.out.println("例外処理が無事終了");
 }
}

A 回答 (2件)

public static int getStdin(){


boolean bret = false;
int ret = 0;
try{
boolean ret = false;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
ret = Integer.parseInt(br.readLine());
bret = true;
}catch(IOException e){
System.out.println("標準入出力でのエラー");
}catch(NumberFormatException e){
System.out.println("不正な入力が行われました");
}finally{
System.out.println("例外処理が無事終了");
if(bret)
return ret;
else
return -1;
}
    • good
    • 0

例外をcatchした場合にreturnが実行されないからです。


たとえば、エラーなら-1を返すとか決めて、
returnを記述する必要があります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!