Language/RubyOnRails
[Ruby]예외 처리
uuukpyo
2020. 3. 9. 12:48
728x90
# 예외 발생시키기
raise "error!"
raise StandardError, "error!"
# 예외처리
begin
# 예외가 발생할 가능성이 있는 구문
file = File.open('text.txt')
rescue => e
# 발생한 예외를 보완 처리
# 예외 객체를 변수 e에 대입
puts "Error #{e.class}!"
else
# 예외가 발생하지 않은 경우 실행되는 처리
ensure
# 예외 유무에 상관없이 실행시킬 구문
file.close if file
end
begin으로 시작하는 코드 덩어리는 예외사항이 발생할 때 까지 실행되며, 예외가 발생하면 컨트롤이 에러 처리 코드쪽으로 넘어가게 됩니다. 이 에러 처리 코드는 rescue로 표시됩니다. 만약 아무 예외사항도 발생하지 않는다면 rescue 코드는 사용(실행)되지 않습니다.
raise 를 통해 RuntimeError를 발생 시킬 수 있습니다.
# 예외 정보 메소드
e.class #=> StandardError
e.message #=> "error message"
e.backtrace #=> 콜스택 배열
728x90