Bagian dari perkecualian ini yang paling mengganggu saya adalah bahwa hal itu mengganggu cakupan kode saya.
Ketika saya menjadi kompulsif tentang cakupan, saya akan menggulung mencoba / menangkap bahwa "tidak pernah bisa terjadi" (... atau hanya jika saya menggunakan JVM mutan yang entah bagaimana lupa untuk memasukkan "US-ASCII") ke dalam kelas dan metode yang merangkum yang mencoba / menangkap, dan mengganti pengecualian yang diperiksa di salah satu cara yang disebutkan di sini (biasanya melempar pengecualian yang tidak dicentang dengan pesan snide).
Kemudian jangkauan kode saya mendapatkan hit di kelas utilitas, tetapi tidak dalam semua referensi untuk operasi yang tersebar di sekitar kode saya.
Kadang-kadang saya akan mengambil waktu untuk menggulung seperti operasi di kelas yang sebenarnya memiliki semantik yang koheren. Tapi karena itu sangat jelas bagi rekan tim saya apa yang terjadi, saya biasanya hanya membuatnya sesederhana mungkin & tidak terlalu khawatir tentang desain terbaik.
Namun, seperti komentar yang disebutkan, Guava & perpustakaan lain memiliki cara untuk mengurangi rasa sakit ini - tetapi itu pada dasarnya strategi yang sama. Pindahkan gangguan di luar panggung agar kode utama Anda tidak terkena dampak liputan.