Python ile her exception verdiğinde geçip kodun zorla devam etmesini sağlamk mümkün mü?

Sadece Python ile (modülsüz), her exception verdiğinde geçip kodun zorla devam etmesini sağlamak mümkün mü?
(Yani try'a girsin, error çıkarsa excepte düşmesin tryda devam etsin.)

B
0 kişi takip ediyor.
Misafir olarak yayınla
7
7 CEVAP

Try'da hata verirse direk excepte düşüyor. Except'te bir şey yapma diyebilirsiniz sanırım. (Genel try catch bilgimle konuşuyorum belki pythonda farklıdır.)

B

İlk başta benim de düşündüğüm o idi fakat try ile deniyor excepte düştüğünde trydan devam etmesini istiyorum fakat sadece duruyor.

Batuhan Kızmaz 5 yıl

Bu söylediğiniz "if şartını sağlamıyorsa else'e düşmesin if'ten devam etsin" demeye benziyor. Try da excepte düşüren ne ise o sebebi atlatmanız gerekiyor.

Batuhan Ebil 5 yıl

Ben en iyisi durumu açıklıyayım, bir dictim var ve bir fonksiyonum var. Bu fonksiyon dictte bulunan bir elemana göre ihtiyaçları belirliyor ve eğer ihtiyaçlar karşılanmıyorsa False karşılanıyorsa True döndürüyor. Ben buraya -smtp- adlı elemanı gönderirsem 4 ihtiyacı bulunuyor (server, port, mail, pwd) şeklinde. Yazdığım modülde debug diye bir fonksiyon olduğu için ayrıca pythonun error döndürmesini istemiyorum fakat python o 4 elemandan birisi bile olmasa KeyError döndürüyor. Bunu çözmem gerekiyor.

Batuhan Kızmaz 5 yıl

com-7amv0euclff1vftqh6j0.jpg

Batuhan Kızmaz 5 yıl

Gelmeyen değişkenlere default değer atasanız? Null gibi mesela? En azından excepte düşmemiş olur. Bir de overloading fikri geliyor aklıma.

Batuhan Ebil 5 yıl

Batuhan Ebil Overloading benim de aklıma geliyor fakat mesela contextmanager modülü ile bunu çözebiliyoruz fakat ben pure python ile çözmek istiyorum.

Batuhan Kızmaz 5 yıl

optional arguments (isteğe bağlı değişkenler) kullansanız?

Batuhan Ebil 5 yıl

https://stackoverflow.com/questions/43279256/multiple-optional-arguments-python

Batuhan Ebil 5 yıl

Bu method ile çözülebilir Fakat soruda da bahsettiğim gibi from with suppress(Exception): (contextlib'in suppress'i) şeklini pythonda kullanmak istiyorum

Batuhan Kızmaz 5 yıl

Batuhan Kızmaz Anladım. O zaman beni aşar bu mesele.

Batuhan Ebil 5 yıl