Error, RuntimeException, Throwable 및 Exception과 같은 일반 예외를 사용하면 호출 메서드가 실제 시스템 생성 예외를 응용 프로그램 생성 오류와 다르게 처리하는 것을 방지할 수 있습니다.
滿天的星座2017-06-30 09:58:07
이해하기 쉽습니다.
간단히 비유하자면, 用户不存在/密码错误...
这些错误类型, 如果你直接使用RuntimeException
코드는 이렇게 작성해야 합니다.
으아악
으아악
으아악
예외 잡기으아악
메시지
를 통해 예외 처리 논리를 판단하는 데에는 많은 단점이 있습니다. 예를 들어 메시지
가 동적이면 정확하게 처리되지 않습니다. 물론 그럴 수도 있습니다. 일반적인 예외 유형을 정의하면 비즈니스 코드로 판단하는 것이 더 정확할 뿐만 아니라 예외 유형 정의도 줄어들고 코드 중복도 줄어듭니다. 현재 제가 사용하는 방식입니다.message
判断处理异常逻辑有很多弊端, 比如message
是动态的, 那将无法准确的处理.
当然我们也可以定义一个通用的异常类型, 通过业务码去判断会更加准确, 同时也会减少异常类型的定义, 减少代码的冗余. 下面有一段kotlin
으아악
怪我咯2017-06-30 09:58:07
Exception을 직접 던지면 Nginx가 정의된 메시지를 덮어쓰게 되어 특정 정보를 볼 수 없게 됩니다.
권장되는 접근 방식은 예외를 직접 정의하고 RuntimeException을 상속하는 것입니다. 이렇게 하면 예외가 무엇인지 파악하고 문제를 더 쉽게 찾을 수 있습니다.