Pertanyaan yang diberi tag «exceptions»

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

9
Haruskah saya menerima koleksi kosong dalam metode saya yang mengulanginya?
Saya punya metode di mana semua logika dilakukan di dalam foreach loop yang berulang di atas parameter metode: public IEnumerable<TransformedNode> TransformNodes(IEnumerable<Node> nodes) { foreach(var node in nodes) { // yadda yadda yadda yield return transformedNode; } } Dalam hal ini, mengirimkan koleksi kosong menghasilkan koleksi kosong, tapi saya bertanya-tanya apakah …

11
Apakah ada kasus dunia nyata untuk C ++ tanpa pengecualian? [Tutup]
Dalam Kapan menggunakan C lebih dari C ++, dan C ++ lebih dari C? ada wrt pernyataan. untuk pengecualian ukuran kode / C ++: Jerry menjawab (di antara poin-poin lain): (...) cenderung lebih sulit untuk menghasilkan executable yang benar-benar kecil dengan C ++. Untuk sistem yang sangat kecil, Anda jarang …
40 c++  exceptions 


4
Menggunakan pernyataan versus melempar pengecualian?
Seringkali ketika saya menulis suatu fungsi saya ingin memastikan input ke dalamnya valid untuk mendeteksi kesalahan sedini mungkin (saya percaya ini disebut prasyarat). Ketika sebuah prasyarat gagal, saya selalu melemparkan pengecualian. Tetapi saya mulai ragu apakah ini praktik terbaik dan jika tidak, pernyataan akan lebih tepat. Jadi kapan saya harus …



3
Apakah konvensional untuk meningkatkan NotImplementedError untuk metode yang implementasinya tertunda, tetapi tidak direncanakan abstrak?
Saya suka menaikkan NotImplementedErroruntuk metode apa pun yang ingin saya terapkan, tetapi di mana saya belum sempat melakukannya. Saya mungkin sudah memiliki implementasi parsial, tetapi tambahkan dengan raise NotImplementedError()karena saya belum menyukainya. Di sisi lain, saya juga suka tetap berpegang pada konvensi, karena ini akan memudahkan orang lain untuk menjaga …

5
Bagaimana saya bisa membuat dan menegakkan kontrak untuk pengecualian?
Saya mencoba meyakinkan pimpinan tim saya untuk mengizinkan menggunakan pengecualian dalam C ++ alih-alih mengembalikan bool isSuccessfulatau enum dengan kode kesalahan. Namun, saya tidak bisa melawan kritiknya ini. Pertimbangkan perpustakaan ini: class OpenFileException() : public std::runtime_error { } void B(); void C(); /** Does blah and blah. */ void B() …
33 c++  exceptions 


3
Kesalahan dalam menangani pertimbangan
Masalah: Sejak lama, saya khawatir dengan exceptionsmekanismenya, karena saya merasa tidak benar-benar menyelesaikan apa yang seharusnya. KLAIM: Ada perdebatan panjang di luar tentang topik ini, dan kebanyakan dari mereka kesulitan membandingkan dan exceptionsmengembalikan kode kesalahan. Ini jelas bukan topik di sini. Mencoba mendefinisikan kesalahan, saya setuju dengan CppCoreGuidelines, dari Bjarne …


7
Bagaimana cara memperlakukan pengecualian yang tidak ditangani? (Hentikan aplikasi vs. Tetap hidup)
Apa praktik terbaik ketika pengecualian yang tidak ditangani terjadi di aplikasi desktop? Saya sedang berpikir untuk menunjukkan pesan kepada pengguna, sehingga ia dapat menghubungi dukungan. Saya akan merekomendasikan kepada pengguna untuk me-restart aplikasi, tetapi tidak memaksanya. Mirip dengan apa yang dibahas di sini: ux.stackexchange.com - Apa cara terbaik untuk menangani …


7
Apakah saya boleh menggunakan pengecualian sebagai alat untuk "menangkap" kesalahan lebih awal?
Saya menggunakan pengecualian untuk menangkap masalah lebih awal. Sebagai contoh: public int getAverageAge(Person p1, Person p2){ if(p1 == null || p2 == null) throw new IllegalArgumentException("One or more of input persons is null"). return (p1.getAge() + p2.getAge()) / 2; } Program saya seharusnya tidak pernah lulus nulldalam fungsi ini. Saya …

12
Apa masalah pengembang dengan pesan kesalahan bermanfaat? [Tutup]
Terus mengejutkan saya bahwa, di zaman sekarang ini, produk-produk yang telah bertahun-tahun digunakan di bawah ikat pinggang mereka, dibangun oleh tim profesional, masih sampai hari ini - gagal memberikan pesan kesalahan yang bermanfaat kepada pengguna. Dalam beberapa kasus, penambahan sedikit informasi tambahan dapat menghemat waktu pengguna. Program yang menghasilkan kesalahan, …

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.