Quoting from http://www.perlmonks.org/?node_id=924499:
in reply to Re^7: Throw from within a DESTROY block
in thread Throw from within a DESTROY block
But the wonderful value of DESTROY is that every c'tor (constructor) that succeeds will always be followed by its paired d'tor, which makes it a very valuable tool for the sane handling of tons of things (all manner of resource allocation but also other things that should always be done in pairs, like transactions, reference counting, etc.). And handling tons of things means that you need to be able to deal with that handling going wrong or failing.