pat coding

[Ruby]예외 처리 본문

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

'Language > RubyOnRails' 카테고리의 다른 글

[ruby] method  (0) 2020.02.27
[Ruby] Array 정리  (0) 2020.02.04
rails controller  (0) 2020.01.09
[Ruby excel] write_xlsx 를 통한 엑셀 설정  (0) 2020.01.07
Active Record의 정의  (1) 2019.12.24
Comments