자바 try-catch 문 질문합니다

revol2236의 이미지

파일 입출력 용도로 try catch 문을 사용하고

try-catch 문 안에서 쓰인 변수들을 return 하고 싶은데요

try-catch 문 내부에서 쓰인 변수들은 try-catch 밖에서는

찾을수 없는 심볼 이라는 컴파일 에러가 자꾸 나네요,,

그리고 try-catch 문 내부에 return 을 하면 missing return statement 라는 에러가 뜨고요,,

제가 작성하고 있는 부분은 아니지만 간단한 테스트코드 써넣겠습니다,,

class javaqw{
        public static void main(String [] args){
                javaqw tt = new javaqw();
                        System.out.println(javaqw.yum());
                }
 
        public static int yum(){
                try{
                        int i=10;
                        return i;  //에러
        }       catch(Exception ex){
                        ex.printStackTrace();
                }
                       //return i; 가 이곳에 존재할 경우도 심볼 에러
        }
}
~                                                                                                                                              
~                                                                                                                                              
~                                                                                                                                              
~           
cleol의 이미지

public static int yum(){
       try{
                int i=10;
                return i;  //에러
       }catch(Exception ex){
                ex.printStackTrace();
       }
       // 여기는 i가 정의된 스코프 바깥이니 당연히 i 를 찾을 수 없습니다.
       // 예외가 발생하면 catch에서 처리된 다음에 프로그램 실행이 이곳으로 오겠지요.
       // 따라서 당연히 여기에서도 어떤 값을 return해야 합니다.
       return i;
}

한 가지 기초적인 해결책은

int i = 0;
try {
} catch {
}
return i

입니다.

revol2236의 이미지

찬찬히 생각해보니까

그런 답이 나오네요,,,

답변감사합니다

============================================

비가오면 사람들은 눈물흘리고

그빗물에 흘러내린 눈물감추고