Описание тега rescue

Ключевое слово Ruby для перехвата исключений.
1 ответ

Как перегруппировать все спасения начала блока и переключить тип ошибки позже?

На данный момент у меня есть блок, как begin yield rescue MyError => e call_specific_method call_method_foo render json: { error: e.to_s } rescue ActiveRecord::RecordInvalid => e call_specific_method call_method_foo render json: { error: e.to_…
19 фев '15 в 10:41
2 ответа

Какая разница при использовании обеспечения и после спасения?

В чем разница между использованием ensure: begin foo_process rescue bar_process ensure baz_process end и поставить процесс после begin... rescue... end блок? begin foo_process rescue bar_process end baz_process В чем разница между использованием els…
02 авг '13 в 06:10
4 ответа

Хорошая практика спасения в шаблоне erb?

Вопрос прост: Это хорошая практика использования спасения, как это? ... <td><%= @customer.address.city.name rescue "-" %></td> <td><%= @customer.address.province.name rescue "-" %></td> <td><%= @customer.…
11 июл '14 в 07:45
1 ответ

Ловля исключений при использовании внешнего драгоценного камня

Я написал программу, которая использует внешний рубиновый камень. Поскольку я выполняю множество различных действий с этим, я хочу иметь возможность спасать и обрабатывать исключения по всем направлениям вместо того, чтобы реализовывать это каждый р…
09 май '13 в 01:45
1 ответ

JSON формат не приходит в блоке спасения - ruby

require 'json' begin hash = {"a" => "b"} raise StandardError, hash rescue Exception => e q = e.message p q p q.to_json end это должно напечатать "{\"a\":\"b\"}" но это печатает "\"{\\\"a\\\"=>\\\"b\\\"}\"", Какой-либо причине?
15 ноя '16 в 10:17
1 ответ

Как продолжить следующий спасательный блок в Ruby?

В моем проекте Rails 3.2.15 / Ruby 1.9.3p448 я хочу поймать исключения, созданные ActionMailer... begin if message.deliver render json: { message: "Message sent successfully" }, status: 201 else render json: { error: "Failure sending message" }, sta…
1 ответ

Рубиновый спасательный блок или класс

Кажется, я снова использую то же самое rescues. Было бы возможно иметь rescue блок? Так что вместо: while count != 0 do <<code>> rescue error1 <<code>> retry rescue error2 <<code>> break end Я могу иметь: def resc…
04 фев '12 в 18:54
1 ответ

Альтернатива "Спасению Исключений"

Иногда я получаю неожиданные ошибки, такие как ошибки тайм-аута, ошибки 503 и т. Д. Есть ошибки, о которых я даже не знаю, которые я могу получить. Я не могу объяснить их всех, делая что-то вроде: rescue Timeout::Error => e Это также ужасная идея…
03 сен '13 в 16:05
2 ответа

Как спасти eval в Ruby?

Я пытаюсь выяснить, как спасти синтаксические ошибки, которые возникают, когда eval()Код в Ruby 1.8.6. Я ожидал бы следующий код Ruby: #!/usr/bin/ruby good_str = "(1+1)" bad_str = "(1+1" # syntax error: missing closing paren begin puts eval(good_str…
12 фев '09 в 19:21
2 ответа

Рельсы 3.1: как приложение может обрабатывать различные "причины" для ActiveRecord::RecordInvalid (например, дубликат или ошибка проверки)

В моем приложении я иногда создаю пользователя на лету, и электронная почта пользователя должна быть действительным форматом и быть уникальной. Я хотел бы перенаправить в разные места, в зависимости от того, какая проверка вызвала ошибку: неверный ф…
06 мар '12 в 21:31
1 ответ

Создание образа диска, клонированного с помощью ddrescue.

У нас есть старый сервер с отказами диска, который мы пытались клонировать в VMSphere. Это привело к ошибке из-за того, что эта ошибка произошла, мы не могли точно определить. С помощью ddrescue мы клонировали машину на внешний жесткий диск емкостью…
28 ноя '13 в 09:29
0 ответов

Rescue SubclassNotFound ошибка в STI

Есть ли передовой опыт или идиоматический способ спасти ActiveRecord::SubclassNotFound ошибка внутри модели для базового класса (Rails 2.3.8)? Я бы очень хотел иметь возможность сделать что-то вроде звонка BaseClass.all когда в базе данных есть изве…
1 ответ

Рубиновый камень мешает мне спасти

Я пытаюсь создать бота Discord, выполнив вход в систему непосредственно на сервере Discord, на котором он находится, однако само гем discordrb отказывается позволить мне спасти сам блок. begin require 'discordrb' phoenix = Discordrb::Bot.new token: …
07 июн '18 в 09:08
3 ответа

Спасение не спасет в Rails

Я пишу простое приложение, которое обрабатывает POSTредактировал CSV-файлы и проверяю его на предмет некорректного ввода (например, не-CSV-файлов). Я использую команду CSV::Reader.parse для анализа CSV в методе контроллера следующим образом: @parsed…
01 июл '11 в 19:13
2 ответа

Правильный синтаксис для спасения и следующего в каждом цикле

У меня есть довольно простой оператор if в контроллере следующим образом: if citation_array.blank? flash.now[:error] = "There was a problem saving the publications selected!" @user = current_user render 'pubmed_search' else citation_array.each do |u…
20 сен '15 в 17:00
3 ответа

rails response_to в блоке спасения контроллера

respond_to не работает внутри блока спасения контроллера: def create respond_to do | format | format.json { render json: SomeManager.new(some_params).json } format.html do SomeManager.new(some_params) render :new, notice: 'it worked' end end rescue …
07 июн '17 в 09:59
0 ответов

Ruby: блок восстановления не работает должным образом

Ниже begin-rescue блокировать в hooks.rb не работает должным образом. Когда есть доступный каталог результатов, он отправляется rescue блок и когда это не так идет begin блок. Звучит смешно, но это то, что происходит. Теперь, когда я использую то же…
09 янв '15 в 09:57
2 ответа

Не могу понять, как спасти ActiveRecord::StatementInvalid ошибка в Rails

Я использую полнотекстовый поиск Postgres, и когда кто-то вводит запрос, который не может быть обработан, я не могу спасти эту ошибку. Вот ошибка, которую я получу для примера: Started GET "/products/search?query=asd+()" for 127.0.0.1 at 2014-02-04 …
1 ответ

Обработка исключений в Ruby в блоке else

Итак, у меня есть классическая обработка исключений ruby: begin # do work here rescue SafeShutdown => e # prevent loss of data and safely shutdown rescue SystemExit => e # print #{e} and continue else # how can I get #{e} here to get error mes…
08 июл '15 в 14:38
1 ответ

Эликсир: правильный способ печати __STACKTRACE__

Я знаю, что мы можем получить полную трассировку стека, используя __STACKTRACE__ в блоке ловли / спасения в эликсире, но как правильно его распечатать? В моем случае я спасаюсь от ошибки, но все еще хочу записать ее на консоль. Вот чем я сейчас зани…
03 дек '18 в 07:55