Kısa cevap hem olmasıdır raise MyException
ve raise MyException()
aynı şeyi yapın. Bu ilk biçim, istisnanızı otomatik olarak somutlaştırır.
Dokümanlardan ilgili bölüm "diyor zam istisna nesnesi olarak ilk ifadeyi değerlendirir. Bu bir alt sınıf veya BaseException bir örneği ya olmalıdır. Bir sınıf ise bulunduğu sınıfı nesnelleştirilmesiyle gerektiğinde, istisna örneği elde edilecektir tartışma yok. "
Bununla birlikte, anlambilim aynı olsa bile, ilk biçim mikroskobik olarak daha hızlıdır ve ikinci biçim daha esnektir (çünkü gerekirse ona argümanlar iletebilirsiniz).
Çoğu kişinin Python'da (yani standart kitaplıkta, popüler uygulamalarda ve birçok kitapta) kullandığı genel stil raise MyException
, hiçbir argüman olmadığında kullanmaktır . İnsanlar istisnayı yalnızca bazı argümanların iletilmesi gerektiğinde doğrudan somutlaştırır. Örneğin: raise KeyError(badkey)
.