티스토리 뷰
예외 객체
예외 객체는 Exception 클래스와 그 서브 클래스의 인스턴스입니다.
- Exception
- NoMemoryError
- ScriptError
- LoadError
- NotImplementedError
- SyntaxError
- SecurityError
- SignalException
- StandardError
- ArgumentError
- EncodingError
- FiiberError
- IndexError
- IOError
- LocalJumpError
- NameError
- RangeError
- RegexpError
- RuntimeError
- SystemCallError
- ThreadError
- TypeError
- ZeroDivisionError
- SystemExit
- SystemStackError
예외 제어
예외 발생 : raise의 인수로 지정한 문자열을 메시지로 해서 RuntimeError를 발생시킵니다. 첫 인수로 예외 클래스를 지정할 경우, 두번째 인수로 메시지를 지정합니다.
예외 처리에는 begin...rescue...end 구문을 사용합니다.
# 예외 발생시키기
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
예외 객체의 메서드
# 예외 정보를 취득하기 위한 예외 객체의 메소드
e.class #=> StandardError
e.message #=> "error message"
e.backtrace #=> 콜스택 배열
대역 탈출
다중 내포 관계에 있는 처리에서 한번에 탈출하는 용도로 사용됩니다.
catch/throw : catch로 지정한 블록 내부에서 throw를 호출하면 catch 위치로 돌아갈수 있습니다.
catch :triple_loop do
loop do
puts 'one'
loop do
puts 'two'
loop do
puts 'three'
throw :triple_loop
end
end
end
end
'Ruby & Rails' 카테고리의 다른 글
Ruby 처음 배우기 : Mixin (0) | 2018.05.11 |
---|---|
Ruby 처음 배우기 : Module (0) | 2018.05.11 |
Ruby 처음 배우기 : 상속 (0) | 2018.05.11 |
Ruby 처음 배우기 : Class (0) | 2018.05.11 |
Ruby 처음 배우기 : Block & Yield (0) | 2018.05.10 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- MonGo
- 반디집
- 압축프로그램
- database
- 방수방진
- Git
- xmind
- Nas
- db
- 샤오미
- 마인드맵
- 자바스크립트
- GitHub
- 픽픽
- 데이터베이스
- javascript
- 루비
- 윈도우 10
- 갤럭시 노트 7
- js
- 아이폰 7
- MySQL
- ruby
- mongoDB
- quirky
- 몽고DB
- 캡쳐프로그램
- 깃
- 다음팟플레이어
- 마크다운
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함