I wrote an HTTP spider and I wonder how to handle exceptions. I got this exception. \while I can install POE::Component::SSLify and fix *this* problem but I am wondering about the general problem. How am I supposed to catch exceptions?
I am not sure where was this exception thrown, I guess it was in a call like this POE::Kernel->post( 'ua', 'request', 'image_received', HTTP::Request->new(GET => $url), ); but I am not sure how to handle the exception in there? regards Gabor === 25253 === !!! Stopped child process (PID 25254) reaped when POE::Kernel->run() is ready to return. === 25253 === !!! Stopped child process (PID 25257) reaped when POE::Kernel->run() is ready to return. === 25253 === !!! Stopped child process (PID 25255) reaped when POE::Kernel->run() is ready to return. === 25253 === !!! Stopped child process (PID 25258) reaped when POE::Kernel->run() is ready to return. === 25253 === !!! Stopped child process (PID 25260) reaped when POE::Kernel->run() is ready to return. === 25253 === !!! Stopped child process (PID 25261) reaped when POE::Kernel->run() is ready to return. === 25253 === !!! At least one child process is still running when POE::Kernel->run() is ready to return. === 25253 === !!! Be sure to use sig_child() to reap child processes. === 25253 === !!! In extreme cases, failure to reap child processes has === 25253 === !!! resulted in a slow 'fork bomb' that has halted systems. There is no SSL support, please install POE::Component::SSLify at /home/gabor/perl5/lib/perl5/POE/Component/Client/Keepalive.pm line 611. (in cleanup) (25253) <us> must call select_read() from a running session at /home/gabor/perl5/lib/perl5/POE/Kernel.pm line 2139 POE::Kernel::select_read('POE::Kernel=ARRAY(0x1e65998)', 'GLOB(0xd105cc0)') called at /home/gabor/perl5/lib/perl5/POE/Wheel/ReadWrite.pm line 392 POE::Wheel::ReadWrite::DESTROY('POE::Wheel::ReadWrite=ARRAY(0xcc4bbd8)') called at /home/gabor/perl5/lib/perl5/POE/Component/Connection/Keepalive.pm line 42 eval {...} called at /home/gabor/perl5/lib/perl5/POE/Component/Connection/Keepalive.pm line 42 POE::Component::Connection::Keepalive::DESTROY('POE::Component::Connection::Keepalive=ARRAY(0xd2871d0)') called at /home/gabor/perl5/lib/perl5/POE/Component/Client/HTTP/Request.pm line 599 eval {...} called at /home/gabor/perl5/lib/perl5/POE/Component/Client/HTTP/Request.pm line 599 POE::Component::Client::HTTP::Request::DESTROY('POE::Component::Client::HTTP::Request=ARRAY(0xcc9a648)') called at spider line 0 eval {...} called at spider line 0 (in cleanup) (25253) <us> must call select_read() from a running session at /home/gabor/perl5/lib/perl5/POE/Kernel.pm line 2139 POE::Kernel::select_read('POE::Kernel=ARRAY(0x1e65998)', 'GLOB(0xcb9bb58)') called at /home/gabor/perl5/lib/perl5/POE/Wheel/ReadWrite.pm line 392 POE::Wheel::ReadWrite::DESTROY('POE::Wheel::ReadWrite=ARRAY(0xe08b290)') called at /home/gabor/perl5/lib/perl5/POE/Component/Connection/Keepalive.pm line 42 eval {...} called at /home/gabor/perl5/lib/perl5/POE/Component/Connection/Keepalive.pm line 42 POE::Component::Connection::Keepalive::DESTROY('POE::Component::Connection::Keepalive=ARRAY(0xde12b10)') called at /home/gabor/perl5/lib/perl5/POE/Component/Client/HTTP/Request.pm line 599 eval {...} called at /home/gabor/perl5/lib/perl5/POE/Component/Client/HTTP/Request.pm line 599 POE::Component::Client::HTTP::Request::DESTROY('POE::Component::Client::HTTP::Request=ARRAY(0xcb99a10)') called at spider line 0 eval {...} called at spider line 0 (in cleanup) (25253) <us> must call select_read() from a running session at /home/gabor/perl5/lib/perl5/POE/Kernel.pm line 2139 POE::Kernel::select_read('POE::Kernel=ARRAY(0x1e65998)', 'GLOB(0xc785708)') called at /home/gabor/perl5/lib/perl5/POE/Wheel/ReadWrite.pm line 392 POE::Wheel::ReadWrite::DESTROY('POE::Wheel::ReadWrite=ARRAY(0xe0c39f8)') called at /home/gabor/perl5/lib/perl5/POE/Component/Connection/Keepalive.pm line 42 eval {...} called at /home/gabor/perl5/lib/perl5/POE/Component/Connection/Keepalive.pm line 42 POE::Component::Connection::Keepalive::DESTROY('POE::Component::Connection::Keepalive=ARRAY(0xe0b0bd0)') called at /home/gabor/perl5/lib/perl5/POE/Component/Client/HTTP/Request.pm line 599 eval {...} called at /home/gabor/perl5/lib/perl5/POE/Component/Client/HTTP/Request.pm line 599 POE::Component::Client::HTTP::Request::DESTROY('POE::Component::Client::HTTP::Request=ARRAY(0xd95fac0)') called at spider line 0 eval {...} called at spider line 0 (in cleanup) (25253) <us> must call select_read() from a running session at /home/gabor/perl5/lib/perl5/POE/Kernel.pm line 2139 POE::Kernel::select_read('POE::Kernel=ARRAY(0x1e65998)', 'GLOB(0xc7af8b8)') called at /home/gabor/perl5/lib/perl5/POE/Wheel/ReadWrite.pm line 392 POE::Wheel::ReadWrite::DESTROY('POE::Wheel::ReadWrite=ARRAY(0xd0b4e78)') called at /home/gabor/perl5/lib/perl5/POE/Component/Connection/Keepalive.pm line 42 eval {...} called at /home/gabor/perl5/lib/perl5/POE/Component/Connection/Keepalive.pm line 42 POE::Component::Connection::Keepalive::DESTROY('POE::Component::Connection::Keepalive=ARRAY(0xcc1dd20)') called at /home/gabor/perl5/lib/perl5/POE/Component/Client/HTTP/Request.pm line 599 eval {...} called at /home/gabor/perl5/lib/perl5/POE/Component/Client/HTTP/Request.pm line 599 POE::Component::Client::HTTP::Request::DESTROY('POE::Component::Client::HTTP::Request=ARRAY(0xcc9aac8)') called at spider line 0 eval {...} called at spider line 0