콘텐츠로 건너뛰기

자바의 예외처리

자바의 예외처리가 무척이나 재미있게 쓰인다.

try {
    // 에러날것 같은 느낌의 코드
} catch(Exception e) {
    // 좋아 에러나면 이렇게 하자 코드
}

요롷게만 써 주면 에러를 달고 다닌다. 에러가 나도 ‘좋아 이렇게 하자’코드로 프로그램은 계속 돌아가는 것이다. catch안에 에러났다는 메세지를 넣어줘도 어디서 에러났는지 알아내기도 수월하고^^ㅋ

오잉?!
오잉?!

학교에서 수업시간에 만들고 있는 채팅프로그램 결과물이 유독 내 것만 실행이 더디다. 각각의 이벤트를 전부 각각의 클래스로 만들어서 처리를 해서 그런지, 성능 좋은 PC에서는 별 문제가 없지만 실습실의 느림보 PC에서는 스타크래프트의 리버가 기어가는 속도보다 창이 뜨는 속도가 느리다.

느린 속도는 클래스를 너무 남발해서 작성 해 놓은 코드 때문이라고 판단하고 어지간한 건 이벤트 처리 클래스 하나에서 처리하도록 몽땅 모아 놨다. 각각의 다른 놈들이 옹기종기 모여있다 보니깐 여기저기서 에러가 튀어나오는데, 예외처리 형식을 IF문 처럼 활용해서 겨우겨우 우겨 넣었다. 일단 무려 4개의 클래스를 1개의 클래스에 묶어서 넣었는데 실행 속도의 변화는 내일 실습실의 느림보 PC에서 돌려봐야 알겠다.

기존의 코드는 아무래도 쓸데 없는 부분까지 클래스로 만들어다 객체로 끌어쓰니 속도에서 많이 손해를 본 것이 아닐까 생각했다. 클래스 개수를 줄이려다 탄력 받아서 채팅프로그램 안에서 그동안 틀만 잡아 놓고 구현해 놓지 않았던 기능들까지 모두 작동하게 만들었다.

‘삘’받아서 계속 코드 수정하고 컴파일하고 작업하다 보니 어느새 새벽 4시 57분!! 내일도 일찍 일어나는 건 글렀 구만..ㅜ.ㅜ 평소에는 잘 하지도 않던 짓을 ‘삘’받으면 정신 못 차리고 매달린다. 하나에 집중한다면 집중하는 거니까 나름의 장점임과 동시에 완전한 단점.

“새벽 5시가 다 되가는데, 이게 모니~ 이게~ㅋ”


6 개의 댓글

  1. 하나의 메인에 다 우겨넣고 돌려도 되지만.
    그래서는 좋은 프로그램이라고 할 수 없겠지요. 실패는 성공의 어머니입니다.
    화이팅!

    1. 아무래도 느린 자바이다 보니, 어떤 방법으로 코딩을 해야 좀 더 나은 퍼포먼스를 낼 수 있을지. 요즘 그런 글들을 찾아다니면서 읽고 있습니다.

      Poisoner님께서 말씀 하신 메인에 모든걸 우겨 넣은 것 처럼, 클래스 하나에 모든걸 우겨 넣은 제 방법 역시 좋은 것은 아닌것 같아요. 무언가 방법이 있을법 한데, 조금 더 연구 해 봐야겠습니다.
      응원 갑사합니다^^

  2. 제가 자바는 잘모르지만, 일단 클래스를 처음부터 잘게 쪼개는건 좋지 않다고 하네요. 미리 나누는건 좋지않다고 들었구요. 예외처리가 프로그램을 느리게 한다고 하긴했는데, 그건 버젼이 낮았을때 자바고 요세는 예외처리를 해도 느리지 않다라고는 하는데, 솔직히 전 예외처리 왠만하면 안해서–;

    1. 아.. 그렇군요!! 다시 살펴보니 메소드를 하나하나 만들어서 사용해도 가능한걸 클래스로 만들어다 쓴게 없지않아 있네요…;;

      예외처리 부분은.. 예외처리말고 다른 방법으로 처리할 방법이 딱히 떠오르지 않아서 그냥 만들긴 했습니다. 제가 스킬이 많이 부족하다보니..

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다