Neredeyse kendi sorunuzu cevapladınız. Yakalama bloğunuz, (ya da daha spesifik olarak java.lang.Error
) olduğu için başarısız olursa, AssertionError
yakalanmayacaktır. Bununla ilgili daha fazla bilgi için See the docs. Kişisel catch bloğu sadece Gerçekten yakalamak istiyorsan java.lang.Exception
uzatmak Throwable
nesneleri yakalar - Eğer othersmentioned sahip olarak, bu çok sıradışı bir yoldur,
catch (AssertionError e) {
...
Ancak kullanmak gerekir iddiaları kullanmak için - genellikle geçmek gerekir ve eğer onlar başarısız olursa program yürütme devam etmek istediğiniz için çok sıradışı. Bu yüzden başarısızlık, Exception
yerine Error
atar. this question'da Error
'u yakalama hakkında daha fazla bilgi edinebilirsiniz.
Sadece test istemediğinizden emin misiniz - if (variableName == "1")
? Birim-test yardımcı kodunu test ediyorsanız, bir eşleyici gibi test ediyorsanız, AssertionError
'u yakalamak mantıklı olabilir.
Neden bunu yapmak istersiniz? Bu, – Dragondraikk