どちらが安全です&良い&クリーナー&をお勧めしますか?Try :: TinyまたはEvalを使用していますか?
私が使用:
sub insert_exec {
my ($self, $c, $args) = @_;
my ($params, $table, $model) = $self->_init({context => $c, args => $args});
eval { $model->insert($table, $params);
};
if ([email protected]) { return $c->show_error([email protected]); } ## error
$c->redirect("/index");
}
しかし、例、この種のために(エラー部分を参照)、私が試し::タイニーを使用して優れていると言われていますか?
私の質問は次のとおりです。これをどのように書きますか?その方法を選択する理由は何ですか?
本当にうれしいです – ado
コメントを投稿する評判が不十分だった*匿名のユーザー*は、自分の回答を編集してこのテキストを追加しようとしました。非常に良い点であり、私は適切な更新を行った。 * 'Try :: Tiny'では構造がより良くなりますが、元の投稿とは大きく異なります。あなたが書いたように、catchブロックはサブルーチンであるため、catch内の戻り値は 'insert_exec'からではなく、匿名サブからのみ返ります。これは、リダイレクトが例外の場合にも実行されることを意味します。これは 'Try :: Tiny'の共通の落とし穴です。* – Borodin