Pertanyaan yang diberi tag «exceptions»

Pengecualian adalah kejadian dalam proses aplikasi yang membutuhkan penyimpangan dari aliran normal program.

7
Mengapa tidak ada konstruksi 'akhirnya' di C ++?
Penanganan pengecualian di C ++ terbatas untuk mencoba / melempar / menangkap. Tidak seperti Object Pascal, Java, C # dan Python, bahkan dalam C ++ 11, finallykonstruksinya belum diimplementasikan. Saya telah melihat banyak sekali literatur C ++ yang membahas "pengecualian kode aman". Lippman menulis bahwa pengecualian kode aman adalah topik …
57 c++  exceptions 

12
Apakah menangkap pengecualian umum benar-benar hal yang buruk?
Saya biasanya setuju dengan sebagian besar peringatan analisis kode, dan saya berusaha untuk mematuhinya. Namun, saya mengalami kesulitan dengan yang ini: CA1031: Jangan menangkap jenis pengecualian umum Saya mengerti alasan untuk aturan ini. Tetapi, dalam praktiknya, jika saya ingin mengambil tindakan yang sama terlepas dari pengecualian yang dilontarkan, mengapa saya …
57 c#  design  exceptions 

9
Lempar pengecualian atau biarkan kode gagal
Saya bertanya-tanya apakah ada pro dan kontra terhadap gaya ini: private void LoadMaterial(string name) { if (_Materials.ContainsKey(name)) { throw new ArgumentException("The material named " + name + " has already been loaded."); } _Materials.Add( name, Resources.Load(string.Format("Materials/{0}", name)) as Material ); } Metode itu, untuk masing-masing name, harus dijalankan hanya sekali. …
52 exceptions 

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 …

4
Mengapa iterator di Python memunculkan eksepsi?
Berikut sintaks untuk iterator di Jawa (sintaksis yang agak mirip di C #): Iterator it = sequence.iterator(); while (it.hasNext()) { System.out.println(it.next()); } Itu masuk akal. Berikut sintaks yang setara dalam Python: it = iter(sequence) while True: try: value = it.next() except StopIteration: break print(value) Saya pikir Pengecualian seharusnya hanya digunakan …

4
Mengapa metode tidak seharusnya melempar beberapa jenis pengecualian yang diperiksa?
Kami menggunakan SonarQube untuk menganalisis kode Java kami dan memiliki aturan ini (set ke kritis): Metode publik harus membuang paling banyak satu pengecualian yang diperiksa Menggunakan pengecualian yang diperiksa memaksa pemanggil metode untuk menangani kesalahan, baik dengan menyebarkannya atau dengan menanganinya. Ini membuat pengecualian tersebut sepenuhnya menjadi bagian dari API …

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
Penyebaran pengecualian: Kapan saya harus menangkap pengecualian?
MethodA memanggil MethodB yang pada gilirannya memanggil MethodC. Tidak ada penanganan eksepsi di MethodB atau MethodC. Tetapi ada penanganan pengecualian di MethodA. Dalam MethodC terjadi pengecualian. Sekarang, pengecualian itu menggelembung ke MethodA, yang menanganinya dengan tepat. apa yang salah dengan ini? Dalam pikiran saya, pada titik tertentu penelepon akan mengeksekusi …

11
Apakah variabel kesalahan merupakan anti-pola atau desain yang bagus?
Untuk menangani beberapa kemungkinan kesalahan yang seharusnya tidak menghentikan eksekusi, saya memiliki errorvariabel yang dapat diperiksa dan digunakan klien untuk melempar pengecualian. Apakah ini Anti-Pola? Apakah ada cara yang lebih baik untuk menangani ini? Untuk contoh tindakan ini, Anda dapat melihat API mysqli PHP . Asumsikan bahwa masalah visibilitas (pengakses, …

4
Pengampunan Python vs. Izin dan Mengetik Bebek
Dalam Python, saya sering mendengar bahwa lebih baik "meminta maaf" (pengecualian menangkap) daripada "meminta izin" (pemeriksaan jenis / kondisi). Dalam hal menegakkan itik mengetikkan Python, apakah ini try: x = foo.bar except AttributeError: pass else: do(x) lebih baik atau lebih buruk daripada if hasattr(foo, "bar"): do(foo.bar) else: pass dalam hal …


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.