2011-10-18 2 views
5

저는 Java를 배우기 시작했으며 프로덕션 환경에 있어야하는 Java에서 첫 번째 유틸리티 클래스를 작성하기 시작했습니다. 나는 예외를 다루기 위해 올 때 어느 정도 잃어버린다. 주어진 코드 행에 try 문이 몇 개나 있는지에 대한 대략적인 그림이 있습니까?자바 예외 처리에 대한 모범 사례

Eclipse를위한 몇 가지 예외 사항을 다루는 코드의 양은 어느 정도입니까?

try 블록에 3-4 문을 포함시키고 예외를 catch하거나 try 블록에 10-12 줄을 포함시키는 것이 가장 좋습니다. 다른 종류의 예외를 포착하는 catch 문을 2-3 개 포함하는 것이 좋습니다. 또는 내 자신의 클래스 또는 다른 제 3 자 클래스 ..? 전자가 눈을 조금 불쾌하게하고 부풀어 오르는 코드입니다. ..

예외를 던질 수있는 try 블록에서이 코드를 둘러싸고있는이 일반적인 방법은 주변 코드를 따라 태그를 지정하는 것이 좋습니다. 파일 핸들이 사용되는 방법을 말하십시오.

모든 포인터 ..?

+2

당신은 way.First 무슨 예외와 그들의 유형이 무엇인지 알고하려고 노력하고 잡으려고 던져. 그럼 당신은 분명합니다. –

+2

팁 : 뇌에서 "try-catch block"문구를 삭제하십시오. "try-finally 블록"대신에 생각하십시오. 복구 할 수있는 위치 또는 로그에 기록하고 이동할 위치를 예외로 잡으십시오. 일반적으로 프로그램에서 매우 높은 수준입니다. – erickson

+0

먼저 내 대답을 확인하십시오. http://stackoverflow.com/questions/7129979/java-exception-handling/7130076#7130076 그런 다음 http://download.oracle.com/javase/tutorial/essential/exceptions/index .html은 당신을위한 최고의 튜토리얼이 될 수 있습니다. –

답변

2

내가 먼저 예외를 명확히 할 필요가 있다고 생각

"는 try 블록 및 캐치 예외 또는 ... 3 ~ 4 문을 포함하는 것이 가장 좋습니다."

try { 
    ...some code that throws exceptions 
} catch (Exception ex){ 
    ex.printStacktrace(); 
} 

위의 내용은 예외 처리 스 니펫입니다. 예외 처리에서 우리는 try{} 블록에서 예외를 생성 할 수있는 코드를 유지하고 try 블록의 statemnet이 예외를 생성하면 catch{} 블록에 의해 캐치됩니다.

try 블록 및 catch 예외에 3-4 문을 포함할지 여부. ..은 규칙에 의해 결정되지 않습니다. 로직과 프로그램 요구 사항에 따라 다릅니다. , 모범 사례 자바 예외에 대한를 들어 http://marakana.com/bookshelf/java_fundamentals_tutorial/exceptions.html

다음 문서 및 QA를 따르


다음 링크를 클릭하면 자바 예외에 대해 funda을 취소 할 수 있습니다.

Best practices for exception management in Java or C#

http://www.wikijava.org/wiki/10_best_practices_with_Exceptions

+0

최상의 방법을 이해하기 위해이 자습서를 권하고 싶습니다. java에서 예외를 사용하는 관행 : [java에서 예외를 효과적으로 사용] (http://programmergate.com/use-exceptions-effectively/) –

0

나는 선을 계산하지 않을 것입니다.

try catch 블록은 코드 블록으로 성공하거나 코드 블록으로 실패합니다 (일반 사항). 따라서 '작업 단위'가 하나의 try/catch 블록에 포함되도록 고려할 수 있습니다. 이것은 메소드의 기본 정의와 동일합니다. 따라서 두 사람은 종종 함께 할 수 있습니다.

한 가지 방법으로 try/catch 블록을 하나 넣습니다.

초심자의 실수 (나는 생각한다)는 개개의 시도 잡기 블록을 만들어 거의 한 줄에 하나씩 가리키는 것이다. 일반적으로 당신은 수행하려는 작업 단위를 포함하는 하나의 큰 것을 원합니다.

1

자바 자습서에서이 흔적을 확인하십시오. http://download.oracle.com/javase/tutorial/essential/exceptions/index.html (자바 7 용).

예외 처리의 모범 사례는 코드 비율 측면에서 실제로 표현할 수 없습니다. 먼저 오류, 예외 및 런타임 예외 사이의 중요한 차이점을 알아보십시오. 오류 및 예외는 Throwable 계층 구조의 두 가지 별도 분기입니다. 런타임 예외는 일반 코드로 처리 할 필요가 없으므로 선언이 필요하지 않은 특수 예외 유형입니다. 각각이 무엇을하는지 이해하면 잘 진행되고 있습니다.

예외 처리는 모범 사례 및 상식뿐만 아니라 스타일 및 의견에 의해 어느 정도 영향을받습니다. 어떤 사람들은 예외를 일찍 잡아내어 코드에서 try-catch 블록을 많이 사용하기를 원합니다. 다른 사람들은 더 많은 수의 줄을 둘러보기를 좋아합니다.

이전 Java 버전 대신 JDK 7을 자유롭게 사용할 수있는 경우 try-with-resources 구조와 다중 catch 메커니즘을 조사해야합니다. 둘 다 예외 처리를보다 우아하게 만들고 줄일 수 있습니다 코드가 부 풀린다.