Sanırım, bir şeyin nasıl olması gerektiğini tanımlamak için kullanıldığını iddia ettiğim bir python programım var ve AssertionError
'a atılmak yerine okuma-değerlendirme döngüsü ile anormallikleri yakalamak istiyorum.Hata ayıklama pythonunu AssertionError üzerinde zorlayabilir miyim?
Ben
if (reality!=expectation):
print("assertion failed");
import pdb; pdb.set_trace();
olabilir, Verilen ama bu çok daha çirkin bir düz assert(reality==expectation)
daha kodunda bu.
except:
bloğunda üst düzeyde pdb.set_trace()
olarak adlandırılmış olabilir, ancak daha sonra başarısızlığın tüm içeriğini kaybederdim, değil mi? (Yani, stacktrace istisna nesnesi, ancak argüman değerleri değil, kurtarılabilir)
Python3 yorumlayıcısını ihtiyacım olana çevirebilecek --magic
komut satırı bayrağı gibi bir şey var mı?
eclipse kullanın ve bir kesme noktası ile hata ayıklama modunda çalıştırın? –
@JoranBeasley: Her zaman bir IDE'niz yok. ör., bir ssh kabuğuna bağlandığınızda. – Constantinius
sonra pdb komut satırından kullanın ve kesme noktalarını kullanın ... http://www.doughellmann.com/PyMOTW/pdb/ 'python -m pdb somescript.py' sizin' --magic' olan –