• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

예외처리

24.03.29 01:52 작성 조회수 132

0

1 번 코드

질문:

1 번 코드에서 빨간색과 같이 terminal 에서 돌리면 test.txt 라는 파일은 있지만 txxxxt.txt 라는 파일이 없으므로 throws 를 해서 프로그램을 종료 시키는 건가요???

그런데

 

왜 다시 이 아래에 올바른 파일 이름 test.txt new.txt 를 하면 새로운 파일 new.txt 가 만들어지나요? 만약 예외 처리를 throws 하면 프로그램이 종료되므로 처음부터 다시 javac ExampleA.java 를 해주고 나야만 다시 java ExampleA test.txt new.txt 를 할 수 있는거 아닌가요?

답변 1

답변을 작성해보세요.

0

y2gcoder님의 프로필

y2gcoder

2024.03.29

안녕하세요. ghuhan18님, 공식 서포터즈 y2gcoder입니다.

ExampleA는 실제로 존재하는 파일을 읽어 안의 내용을 복사해 새로운 파일을 만드는 클래스이자 프로그램입니다.

말씀하신 것처럼 첫번째 케이스에서는 없는 파일을 읽으려고 했으니 예외가 발생하고 프로그램이 더 진행되지 못하고 종료되었습니다.

두번째 케이스에서는 실제로 있는 파일을 읽어 해당 내용을 복사해 new.txt라는 새로운 파일을 만들었습니다.

javac 는 .java 파일을 .class 로 컴파일해주는 것입니다. 어떻게 보면 실행할 수 있는 파일로 만들어줬다고 보시면 될 것 같습니다. 해당 파일을 실행해주는 명령어는 그 밑에 작성하신 java ExampleA ~ 입니다. 프로그램이 실행하다 에러가 발생했을 때 다시 컴파일을 해주지는 않습니다. 코드가 잘못된 것이라면 다시 컴파일을 해줘야겠지만 이 경우는 실행할 때의 입력값이 잘못된 것이기 때문에 그냥 컴파일된 실행 파일에 올바른 입력값을 넣어 다시 실행해주면 됩니다!

 

감사합니다.

ghuhan18님의 프로필

ghuhan18

질문자

2024.03.29

자세하고 훌륭한 답변 감사합니다. 혹시

File inFile = new File(in.txt) ; 이것과 관련한 내용도 중급편 수업에서 다루어주시나요 ?

y2gcoder님의 프로필

y2gcoder

2024.03.29

파일 입출력(IO) 과 관련된 강의 는 고급편에서 다룰 예정이시라고 알고 있습니다 🙂