Deneyin::hala istisna 5.14 ya da geç Perl?işleme önerilen Minik
Perl topluluğun görüş birliği Try::Tiny özel durumlar işlemek için tercih edilen bir yol gibi görünüyor.
Perl 5.14 kullandığım sürüm) 21* *Try::Tiny adresleri eval issues. Try::Tiny hala bana herhangi bir yarar sağlayacak?
CEVAP
Her zaman kiÅŸisel bir tercih meselesi. Tercih edersiniz
my $rv;
if (!eval { $rv = f(); 1 } ) {
...
}
ya
my $rv = try {
f();
} catch {
...
};
Ama ikincisi anon subs kullanır unutmayın return gibi next ve benzeri karışıyor. ::Dene-yakala Minik iyi iletişim kanalları eklediğinizde çok daha karmaşık catch bloğu ve dışı arasında sonunda olabilir.
En iyi durumda (basit) istisna üzerinde dönen $rv özel durum yok her zaman doğru olduğu için senaryo. Aşağıdaki gibi görünecektir:
my $rv;
if ($rv = eval { f() }) {
...
return;
}
vs
my $rv = try {
f();
} catch {
...
};
if (!$rv) {
return;
}
Try::Tiny yerine TryCatch ben böyle bir modül kullanmak istiyorum.
Perl için değişim sadece if ($@) tekrar yapmak anlamına gelir. Diğer bir deyişle,
my $rv;
if (!eval { $rv = f(); 1 } ) {
...
}
yazılabilir
my $rv = eval { f() };
if ($@) {
...
}

Deneyin bir yakalamak Throwable İstisn...
Java: derin klonlama/kopyalama için ön...
İşleme JSON İstek mesaja Git...
Bir komut Linux üzerinde sıradan paral...
Topu topu Çarpışma Algılama ve İşleme...