znam standardową techniką mającą rozpocząć koniec ratunkowegoJak jednokrotnym użyciu ratunkowego w Ruby bez początek i koniec bloku
Jak można po prostu użyć bloku ratunkową na własną rękę.
Jak to działa i skąd wiadomo, który kod jest monitorowany?
znam standardową techniką mającą rozpocząć koniec ratunkowegoJak jednokrotnym użyciu ratunkowego w Ruby bez początek i koniec bloku
Jak można po prostu użyć bloku ratunkową na własną rękę.
Jak to działa i skąd wiadomo, który kod jest monitorowany?
Metoda "def" może służyć jako "begin" stwierdzeniem:
def foo
...
rescue
...
end
Dzięki Właśnie chciał wiedzieć, jak to działa. To prawie to, czego szukałem. Dziękuję Ci. – Sid
Również definicje klas, definicje modułów i (jak sądzę) 'do'/'end' literały blokowe tworzą niejawne bloki wyjątków. –
czy możesz zrobić także ratę obronną? –
Można też ratować inline: "Exception"
1 + "str" rescue "EXCEPTION!"
wypisze od „String nie może być zmuszany do Fixnum”
Jak można uratować i wyświetlać wyjątek backtrace inline? –
jak zwrócić faktyczny wyjątek? – user1735921
używam def/kombinację ratunkowego Wiele z walidacji ActiveRecord:
def create
@person = Person.new(params[:person])
@person.save!
redirect_to @person
rescue ActiveRecord::RecordInvalid
render :action => :new
end
Myślę, że to kod bardzo chudy!
Przykład:
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
Tutaj def
jako begin
stwierdzeniem:
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
http://www.rubyinside.com/21-ruby-tricks-902.html – Vik