PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2009/09/23 02:13:41
Name EZrock
Subject 자바의 효과적인 예외처리를 하려면 어떻게 해야 할까요?
제가 c++을 짤때도 전형적인 c 스타일로

if else를 갖다 붙여서 하다보니

java언어로 프로그래밍을 할때 고생을 많이 합니다.

특히 특정 조건에 따라서(예를 들어 벡터에서 검색했는데 없으면 notfound라는 상수를 리턴하고 있으면 정수 인덱스를 반환한다..)리턴문을 남발하기 때문에...

java로 짤때는 어쩔수 없이 try catch를 써도 원하지 않은 방향대로 쭉쭉 흘러가기 마련이더군요.

어떤식으로 짜야지 효과적인 예외처리를 할 수 있을까요?

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
아스트랄
09/09/23 11:10
수정 아이콘
try catch 는 RuntimeException 을 잡기 위한 것이 아닙니다.
예를들어 ArrayIndexOutOfBoundsException 는 a[3] 까지만 있는데 a[4] 를 호출하던지 하면 발생하는 RuntimeException 인데
이걸 잡겠다고 try catch 를 넣으시면 안됩니다. 이건 논리적인 프로그램상의 오류이기 때문에 프로그램을 수정하셔야 합니다.
위의 예에서도 벡터에서 검색했는데 없다는 말은 유저의 입력 실수인건가요? 아니면 프로그램상의 버그인건가요?

만약 유저의 실수라하면 다음처럼 프로그램을 짤 수도 있습니다.
try

....
catch ( excption e )

throw new UserFaultException(e);


UserFaultException -> 이건 프로그래머가 분류로 만들어 놓은 excption 종류 입니다.

이런식으로 짜 놓은 후에 (MVC 모델의) controller 단에서 한번에 처리하도록 해 주면 편합니다.
써놓고 보니 굉장히 추상적으로 적어놓아서 도움이 될지 모르겠네요.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
64484 스타리그 10년을 기념하는 글을 작성 중 입니다. [10] Alan_Baxter1892 09/09/23 1892
64483 에프킬라 원리 말인데요.. (+ 치사량?) [7] LunaticNight7294 09/09/23 7294
64482 아파트 관리비 결제용 신용카드 뭐가 괜찮은지 아시나요?? [3] 티나한 핸드레2107 09/09/23 2107
64481 유즈맵 질문입니다. [2] 열씨미1645 09/09/23 1645
64480 안녕하세요 질문하나 여쭙겠습니다 엠피삼1571 09/09/23 1571
64479 책좀 추천해주세요~! [8] 냐하하하1548 09/09/23 1548
64477 궁금한 축구만화가 있어요. 예전에 TV에서 방영했던 것인데... [3] 연성연승2122 09/09/23 2122
64476 땅 시세 알아볼만한 사이트 뭐 있나요? [2] 개떵이다2786 09/09/23 2786
64475 무선네트워크 관련 문의 입니다 [4] unfinished1327 09/09/23 1327
64474 살짝 염장글~(커플로 신을 스니커즈를 추천해 주세요) [11] 개스통2629 09/09/23 2629
64473 짭퉁과 진퉁의 차이가 뭘까요? (지갑) [62] BloodElf4102 09/09/23 4102
64472 노트북을 사려고 하는데.. [1] 음악세계2113 09/09/23 2113
64471 책한권추천해주세요 [6] 오월1788 09/09/23 1788
64470 iptv를 설치하신 분들께 질문 드립니다 [3] 자마기타2132 09/09/23 2132
64469 질문연타네요 야구질문 [6] 침묵도 목소리1917 09/09/23 1917
64468 컴퓨터 종료가 안됩니다 [2] 침묵도 목소리2074 09/09/23 2074
64467 코드기어스 질문이요 [10] 지포스21934 09/09/23 1934
64466 아이팟클래식이 멈춥니다 [4] 솜사탕흰둥이1542 09/09/23 1542
64465 자바의 효과적인 예외처리를 하려면 어떻게 해야 할까요? [1] EZrock2147 09/09/23 2147
64463 엑셀 서식질문합니다.. [5] 이히후1886 09/09/23 1886
64462 인터넷 렉이 심합니다 [1] 형님2186 09/09/23 2186
64461 활력있게 살고싶습니다..ㅡ [4] 토레스1551 09/09/23 1551
64460 에버랜드 가는 차편에 대한 질문입니다. [3] ImSoHorny2131 09/09/23 2131
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로