如果捕获异常没有专门的处理,只是为了记录日志,那么异常究竟是这样
public void xxx() {
try {
...
...
...
} catch() {
...
}
}
捕获好还是这样
public void xxx() {
try {
...
} catch() {
...
}
try {
...
} catch() {
...
}
try {
...
} catch() {
...
}
}
捕获好,另外,是每一种异常单独捕获
public void xxx() {
try {
...
...
...
} catch(aaException e) {
...
} catch(bbException e) {
...
} catch(Exception e) {
...
}
}
好,还是全部都用Exception捕获
public void xxx() {
try {
...
...
...
} catch(Exception e) {
...
}
}
好?
더 우아한 방법은 Aop를 통해 처리하는 것입니다. 그러면 비즈니스 코드에서 반복적으로 try and catch를 작성할 필요가 없습니다
예외 사용
로그를 유지하기 위해 마지막 로그에서 문제를 설명하겠습니다.
로그를 세분화할 필요 없이 인쇄 스택 정보가 한눈에 보입니다
이는 시나리오에 따라 다릅니다. 세 번째 경우에는 캐시 예외 캡처, DB 전환 수행, IO 예외 캡처, 문제 해결 수행 등 캡처된 예외를 세부적인 방식으로 처리하기 위해 다양한 예외를 별도로 캡처합니다. , 등; 네 번째 방법은 예외를 래핑하고 한 번 처리하는 것이지만 일부 특정 정보는 손실됩니다
너무 많은 예외 유형으로 나누는 것은 스위치 케이스의 확장으로 간주될 수 있다는 것입니다
상황에 따라 다릅니다. 예외를 처리할 필요가 없으면 하위 수준에서 직접 예외를 보충하면 됩니다. 예를 들어, 예외에 대한 프롬프트 정보를 직접 정의할 수 있습니다.
주의가 필요한 예외만 캡처하세요. 다른 예외는 Exception을 사용하여 캡처할 수 있습니다.