Блог веб-программиста

Март 2, 2009

Заметка десятая(обработка ошибок)

Filed under: ruby — krimik @ 14:15
Tags: , ,

В этой заметке мы рассмотрим обработку ошибок и вызова exception


Блок обработки ошибок создаётся так:

  1. begin
  2. # здесь находится код, который должен выполнится, если он выполняется без ошибки
  3. # то код в rescue не используется
  4. rescue #имя_ошибки(к примеру ZeroDivisionError)
  5. # если же код выше произошёл с ошибой, то используется этот раздел
  6. end

Это мы и используем в своём классе MyError

  1. class MyError
  2. attr_accessor :val
  3. def initialize(value)
  4. begin
  5. @val = 10 / value
  6. rescue #имя_ошибки(к примеру ZeroDivisionError)
  7. puts “нельзя делить на нуль”
  8. raise #имя_ошибки(к примеру ZeroDivisionError) – вызывает Exception
  9. end
  10. end
  11. end

res = MyError.new(0)

Это вызывет ошибку, т.к. при создании класса мы идём в блок инициализации(initialize), а там мы делим val на 0, следовательно получаем ошибку, но т.к. мы используем обработку ошибок, то ошибки не будет. Мы переходим в раздел rescue и на экран выводится сообщение “нельзя делить на нуль”.
Обработку ошибок можно использовать для логирования.

Добавить комментарий »

Комментариев нет.

RSS-лента комментариев к этой записи. URI для обратной ссылки

Добавить комментарий

Fill in your details below or click an icon to log in:

Логотип WordPress.com

You are commenting using your WordPress.com account. Log Out / Изменить )

Фотография Twitter

You are commenting using your Twitter account. Log Out / Изменить )

Фотография Facebook

You are commenting using your Facebook account. Log Out / Изменить )

Connecting to %s

Тема: Rubric. Блог на WordPress.com.

Follow

Get every new post delivered to your Inbox.