Pertanyaan yang diberi tag «exception-handling»

Penanganan pengecualian adalah proses menanggapi terjadinya kondisi yang tidak normal atau luar biasa yang membutuhkan pemrosesan khusus - seringkali mengubah aliran normal pelaksanaan program.

8
Pengecualian: Mengapa melempar lebih awal? Kenapa terlambat?
Ada banyak praktik terbaik yang terkenal tentang penanganan pengecualian secara terpisah. Saya tahu "harus dan tidak boleh dilakukan" dengan cukup baik, tetapi segala sesuatunya menjadi rumit ketika menyangkut praktik atau pola terbaik di lingkungan yang lebih besar. "Lempar lebih awal, terlambat" - Aku sudah berkali-kali mendengar dan itu masih membingungkanku. …




3
Mengapa spesifikasi pengecualian buruk?
Kembali ke sekolah sekitar 10+ tahun yang lalu, mereka mengajari Anda untuk menggunakan penentu pengecualian. Karena latar belakang saya adalah sebagai salah satu dari mereka programmer Torvaldish C yang dengan keras kepala menghindari C ++ kecuali dipaksa, saya hanya berakhir di C ++ secara sporadis, dan ketika saya melakukannya saya …

6
Solusi untuk Java memeriksa pengecualian
Saya menghargai banyak fitur Java 8 baru tentang lambdas dan antarmuka metode standar. Namun, saya masih bosan dengan pengecualian yang diperiksa. Misalnya, jika saya hanya ingin membuat daftar semua bidang yang terlihat dari suatu objek, saya hanya ingin menulis ini: Arrays.asList(p.getClass().getFields()).forEach( f -> System.out.println(f.get(p)) ); Namun, karena getmetode ini dapat …

8
Mengapa mendesain bahasa modern tanpa mekanisme penanganan pengecualian?
Banyak bahasa modern menyediakan fitur penanganan pengecualian yang kaya , tetapi bahasa pemrograman Apple Swift tidak menyediakan mekanisme penanganan pengecualian . Tenggelam dalam pengecualian seperti saya, saya mengalami kesulitan membungkus pikiran saya di sekitar apa artinya ini. Swift memiliki asersi, dan tentu saja mengembalikan nilai; tetapi saya mengalami kesulitan membayangkan …


8
Apakah ada alasan yang sah untuk mengembalikan objek pengecualian daripada melemparkannya?
Pertanyaan ini dimaksudkan untuk diterapkan pada bahasa pemrograman OO yang mendukung penanganan pengecualian; Saya menggunakan C # untuk tujuan ilustrasi saja. Pengecualian biasanya dimaksudkan untuk dimunculkan ketika masalah muncul bahwa kode tidak dapat segera ditangani, dan kemudian ditangkap dalam catchklausa di lokasi yang berbeda (biasanya bingkai tumpukan luar). T: Apakah …

4
Mengapa tanda kurung diperlukan untuk coba-tangkap?
Dalam berbagai bahasa (setidaknya Java, pikirkan juga C #?) Anda dapat melakukan hal-hal seperti if( condition ) singleStatement; while( condition ) singleStatement; for( var; condition; increment ) singleStatement; Jadi, ketika saya hanya memiliki satu pernyataan, saya tidak perlu menambahkan cakupan baru dengan { }. Mengapa saya tidak bisa melakukan ini …

5
Bagaimana menangani pengecualian yang diperiksa yang tidak pernah dapat dilempar
Contoh: foobar = new InputStreamReader(p.getInputStream(), "ISO-8859-1"); Karena pengkodean hardcoded dan benar, konstruktor tidak akan pernah membuang UnsupportedEncodingException dideklarasikan dalam spesifikasi (kecuali jika implementasi java rusak, dalam hal ini saya tetap hilang). Bagaimanapun, Java memaksa saya untuk berurusan dengan pengecualian itu. Saat ini, kelihatannya seperti itu try { foobar = new …


4
Melempar pengecualian di dalam akhirnya
Analisis kode statis seperti Fortify "mengeluh" ketika pengecualian mungkin dilemparkan ke dalam finallyblok, mengatakan itu Using a throw statement inside a finally block breaks the logical progression through the try-catch-finally. Biasanya saya setuju dengan ini. Namun baru-baru ini saya menemukan kode ini: SomeFileWriter writer = null; try { //init the …


3
Haruskah lapisan layanan menangkap semua pengecualian dao dan membungkusnya sebagai pengecualian layanan?
Saya memiliki tiga aplikasi web Spring layer: dao, layanan, dan pengontrol. Kontroler tidak pernah memanggil langsung dao, ia melakukannya melalui lapisan layanan. Saat ini, sebagian besar waktu jika ada pengecualian dao (runtime) yang tidak ditangani, itu akan ditangkap oleh JSP yang menunjukkan pesan kesalahan kepada pengguna akhir. Haruskah lapisan layanan …

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.