Автор Тема: try...catch  (Прочитано 3713 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Evgeny

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 272
  • +0/-0
  • 0
    • Просмотр профиля
try...catch
« : 24 Апреля 2003, 15:52:12 »
Привет всем!

Знает ли кто-нибудь, есть ли в Perl аналог С-ишного try-catch?

Спасибо.

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
try...catch
« Ответ #1 : 24 Апреля 2003, 17:05:53 »
perldoc eval


eval {
#some code here
};

if ($@) {
#error processing
}
[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн Evgeny

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 272
  • +0/-0
  • 0
    • Просмотр профиля
try...catch
« Ответ #2 : 24 Апреля 2003, 17:14:33 »
mike
Цитировать
mike:
perldoc eval


eval {
#some code here
};

if ($@) {
#error processing
}


А как throw реализуется?

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
try...catch
« Ответ #3 : 24 Апреля 2003, 17:44:02 »
Через die, в доке это описано подробней:


$a = 0;

eval {
   die "Invalid argument!\\n" unless $a;
   1/$a
}

print $@ if $@;
[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн Evgeny

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 272
  • +0/-0
  • 0
    • Просмотр профиля
try...catch
« Ответ #4 : 24 Апреля 2003, 18:23:19 »
mike, спасибо, работает.

 

Sitemap 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