구출 시작의 표준 기술을 알고 있습니다.
구조 블록을 단독으로 사용하는 방법은 무엇입니까?
어떻게 작동하며 어떤 코드가 모니터링되고 있는지 어떻게 알 수 있습니까?
답변
“def”메소드는 “begin”문으로 사용할 수 있습니다.
def foo
...
rescue
...
end
답변
인라인으로 복구 할 수도 있습니다.
1 + "str" rescue "EXCEPTION!"
“EXCEPTION!”을 출력합니다. ‘문자열을 Fixnum으로 강제 할 수 없기 때문에’
답변
ActiveRecord 유효성 검사와 함께 def / rescue 조합을 많이 사용하고 있습니다.
def create
@person = Person.new(params[:person])
@person.save!
redirect_to @person
rescue ActiveRecord::RecordInvalid
render :action => :new
end
나는 이것이 매우 간결한 코드라고 생각합니다!
답변
예:
begin
# something which might raise an exception
rescue SomeExceptionClass => some_variable
# code that deals with some exception
ensure
# ensure that this code always runs
end
여기에서 def
A와 begin
문 :
def
# something which might raise an exception
rescue SomeExceptionClass => some_variable
# code that deals with some exception
ensure
# ensure that this code always runs
end