假设我有一个Controller,然后是Model,它随后会在libs中调用很多pm来从远程控制器中获取一些数据。
我的理解是: 在Apache子进程中,
如果在任何pm中有任何'死',我需要在上呼叫方抓住它来处理它。如果没有捕获。 'die'异常将直接进入mod_perl,然后这个Apache子进程将被终止。
然后,Apache将分叉一个新的子进程来替换垂死的进程。
我的理解是否正确?
答案 0 :(得分:1)
我选择了以下声明:
如果没有捕获。 'die'异常将直接进入mod_perl,然后这个Apache子进程将被终止。
这有点不同。首先,你的'死'将被抓住。如果您在调度链中,即使您没有自己捕获异常,链也会继续。请参阅https://metacpan.org/pod/Catalyst#CONFIGURATION
中的 abort_chain_on_error_fix此外,您可能对可能发现错误的中间件感兴趣:https://metacpan.org/pod/Catalyst#PSGI-MIDDLEWARE