Sübjektif bir soru olarak bu kapatılmalıdır, ancak hala açık olduğu için:
Bu benim önceki istihdam yerimde kullanılan iç politikanın bir parçası ve gerçekten iyi çalıştı. Bu tamamen hafızadan, bu yüzden tam ifadeyi hatırlayamıyorum. İşaretli istisnaları kullanmadıklarını belirtmek gerekir, ancak bu sorunun kapsamı dışındadır. Kullandıkları kontrolsüz istisnalar 3 ana kategoriye ayrıldı.
NullPointerException: Kasten atmayın. NPE'ler, boş bir başvurunun kaydı kaldırılırken yalnızca VM tarafından atılır. Bunların asla atılmamasını sağlamak için mümkün olan tüm çaba gösterilmelidir. Bu hataları bulmak için @Nullable ve @NotNull kod analiz araçlarıyla birlikte kullanılmalıdır.
IllegalArgumentException: Bir işleve yönelik bir argüman, genel belgelere uymadığında, hatanın iletilen argümanlar açısından tanımlanıp tanımlanabileceği şekilde atılır. OP'nin durumu bu kategoriye girer.
IllegalStateException: Bir işlev çağrıldığında ve bağımsız değişkenleri iletildikleri sırada beklenmedik olduğunda veya yöntemin üyesi olduğu nesnenin durumuyla uyumsuz olduğunda atılır.
Örneğin, IndexOutOfBoundsException öğesinin uzunluğu olan şeylerde kullanılan iki dahili sürümü vardı. Bir tanesi, dizin uzunluktan büyükse, IllegalStateException alt sınıfını kullanır. Diğeri, dizin negatifse kullanılan IllegalArgumentException alt sınıfı. Bunun nedeni, nesneye daha fazla öğe ekleyebilmeniz ve bağımsız değişken geçerli olurken negatif bir sayı hiçbir zaman geçerli olmamasıdır.
Dediğim gibi, bu sistem gerçekten iyi çalışıyor ve ayrımın neden orada olduğunu açıklamak birisini aldı: "Hata türüne bağlı olarak, ne yapacağınızı anlamanız oldukça basittir. neyin yanlış gittiğini bu hatayı nerede yakalayacağınızı anlayabilir ve ek hata ayıklama bilgileri oluşturabilirsiniz. "
NullPointerException: Null durumunu işleyin veya NPE'nin atılmaması için bir iddiada bulunun. Bir iddiada bulunursanız, diğer iki türden sadece bir tanesidir. Mümkünse, ilk başta iddianın olduğu gibi hata ayıklamaya devam edin.
IllegalArgumentException: çağrı sitenizde bir sorun var. Aktarılan değerler başka bir işlevdeyse, neden yanlış bir değer aldığınızı öğrenin. Argümanlarınızdan birini geçiriyorsanız, beklediğiniz şeyi döndürmeyen işlevi bulana kadar hata çağrı yığınını kontrol eder.
IllegalStateException: İşlevlerinizi doğru sırada çağırmadınız. Bağımsız değişkenlerinizden birini kullanıyorsanız, bunları kontrol edin ve sorunu açıklayan bir IllegalArgumentException durumu oluşturun. Daha sonra sorunu bulana kadar yanakları yığına doğru ilerletebilirsiniz.
Her neyse, onun amacı, sadece IllegalArgumentAssertions'ı yığına kopyalayabilmenizdi. IllegalStateExceptions veya NullPointerExceptions'ı yığına yaymanın bir yolu yoktur, çünkü işlevinizle ilgili bir şeyleri vardı.