Mojo $c->reply->exception vs die?
Mojo $c->reply->exception vs die?
他们似乎在做同样的事情。
$c->reply->exception('foo');
return;
对比
die "foo\n";
我应该选择其中之一吗?
后者更易于阅读,如果需要可以在适当的级别捕获,并且可以通过自动 Mojo::Exception 包装在开发模式中包含堆栈跟踪和上下文。它还将在 promise 处理程序或 async sub 中适当地执行,导致 promise 被拒绝。
你可以在这里看到它是如何处理的($next->()
是对调度链的调用):https://metacpan.org/source/SRI/Mojolicious-8.33/lib/Mojolicious.pm#L208-214
他们似乎在做同样的事情。
$c->reply->exception('foo');
return;
对比
die "foo\n";
我应该选择其中之一吗?
后者更易于阅读,如果需要可以在适当的级别捕获,并且可以通过自动 Mojo::Exception 包装在开发模式中包含堆栈跟踪和上下文。它还将在 promise 处理程序或 async sub 中适当地执行,导致 promise 被拒绝。
你可以在这里看到它是如何处理的($next->()
是对调度链的调用):https://metacpan.org/source/SRI/Mojolicious-8.33/lib/Mojolicious.pm#L208-214