Курс языка программирования Raku / Объекты, ввод-вывод и исключения / Ввод и вывод / Запуск внешних программ 🆕 / Объект Proc
Тест — Объект Proc
Что выведет следующая программа?
my $proc = run 'sh', '-c', 'exit 2', :out;
$proc.out.slurp(:close);
say $proc.exitcode;| 0 | 0 |
| 1 | 2 |
| 0 | True |
| 0 | ошибка |
.exitcode — это целое число, которое вернула программа;
здесь оболочке было велено exit 2, поэтому оно равно
2. Исключения не возникает: неудачный Proc
сохранён в $proc и исследован через .exitcode,
а обращение к результату считается его обработкой. (Исключение появилось
бы, только если бы неудачный Proc был отброшен без
проверки.)