我试图弄清楚为什么会抛出这个错误.如果在try块内部发生错误而不打印10,它不应该只打印0吗?
#!/usr/bin/perl use 5.006; use strict; use warnings; use Try::Tiny; my $test = 0; try{ $test = 10; my $s = $test /2; } catch{ print $_; } print $test;
解决方法
你错过了;在try / catch“声明”之后;你的代码将print $test的结果作为额外参数传递,以捕获它期望finally子句的位置,并在它进入try块之前死掉.