Exception (3) 썸네일형 리스트형 [Python] Exception Chaining (raise ... from ...) python 개발을 하면서 예외처리를 하다가 raise 와 from 이 같이 쓰이는 문법을 봤다. 어떤 용도로 쓰이는지 어떻게 동작하는지 궁금해서 관련한 내용들을 찾아보고 예제도 작성해보았다.1. Exception Chainingexcept 문 영역에서 처리되지 않는 예외가 발생하게되면, 처리중인 예외에 해당 내용이 에러 메시지에 추가되어 함께 처리되게 된다. 두 예외의 에러 메시지는 'During handling of the above exception, another exception occurred:' 라는 메시지로 연결되어 함께 출력되게 된다. 이 상황에서 raise 문에 from 을 함께 쓴다면 별개의 두 에러가 발생한 것이 아닌 에러의 인과관계를 연결하여 에러메시지를 처리할 수 있게 된다.자세.. [SpringBoot] 예외처리 - 3 (@ExceptionHandler, @ResponseStatus, @ControllerAdvice) 1. @ExceptionHandler(Exception.class) @Controller 레벨에서 예외를 처리하는 방법이다. 예외를 처리할 메서드를 구현하고 @ExceptionHandler 어노테이션으로 해당 메서드를 선언하여 예외 처리 메서드로 지정할 수 있다. 이때 @ExceptionHandler 어노테이션의 값으로 예외처리할 Exception 클래스 종류를 지정할 수 있다. 이 방식의 가장 큰 약점은 @ExceptionHandler 로 선언된 메서드가 해당 컨트롤러 클래스에서만 유효하다는 것이다. 모든 컨트롤러에 해당 메서드를 구현하는 것은 코드의 양이 늘어나고 전반적인 해결방법이 아니기 때문에 사용하기 어렵다. 모든 클래스가 특정 base 클래스로부터 상속되도록 하는 방식으로 구현하여 해결할 수 .. [JAVA] 예외처리 (Exception handling) 1. 프로그램 오류 프로그램 실행 중에 어떠한 원인에 의해 프로그램이 오작동 하거나 비정상적으로 종료되는 경우가 있는데, 이러한 경우를 프로그램 에러 또는 오류라고 한다. 에러는 발생 시점에 따라 '컴파일 에러'와 '런타임 에러'로 나눌 수 있다. 이외에도 컴파일 에러나 런타임 에러와는 조금 달리 정상적으로 실행되지만 의도와 다른 동작을 보이는 '논리적 에러'도 있다. 컴파일 에러의 경우 프로그램이 실행되기 전에 컴파일러를 통해서 오류를 잡을 수 있지만, 런타임 에러의 경우는 실행되기 전에는 알 수 없다. 이러한 런타임 에러를 방지하기 위해서는 프로그램의 실행 도중 발생할 수 있는 모든 경우의 수를 고려하여 대비를 해야한다. 자바에서는 런타임에 발생할 수 있는 프로그램 오류를 에러(error)와 예외(e.. 이전 1 다음