Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 21123|Jawab: 0

[Sumber] Pengecualian dan Penanganan Pengecualian (Panduan Pemrograman C#)

[Salin tautan]
Diposting pada 12/04/2015 22.22.03 | | |

Fitur penanganan pengecualian bahasa C# membantu Anda menangani situasi tak terduga atau tidak biasa yang terjadi saat program Anda berjalan. Penanganan pengecualian menggunakan kata kunci try, catch, dan finally untuk mencoba operasi tertentu untuk menangani kegagalan, dan meskipun operasi ini berpotensi gagal, Anda dapat mencoba melakukannya jika Anda yakin perlu melakukan ini dan ingin membersihkan sumber daya setelahnya. Common Language Runtime (CLR), . NET Framework atau pustaka pihak ketiga atau kode aplikasi dapat menghasilkan pengecualian. Pengecualian dibuat menggunakan kata kunci lemparan.
Dalam banyak kasus, pengecualian mungkin tidak dimunculkan oleh metode yang dipanggil langsung dengan kode, tetapi dengan metode lain lebih jauh ke bawah tumpukan panggilan. Dalam hal ini, CLR memperluas tumpukan untuk melihat apakah ada metode yang berisi blok tangkapan untuk jenis pengecualian tertentu, dan jika menemukan metode seperti itu, ia mengeksekusi blok tangkapan pertama yang ditemukan. Jika tidak ada blok tangkapan yang sesuai ditemukan di mana pun dalam tumpukan panggilan, proses dihentikan dan pesan ditampilkan kepada pengguna.
Dalam contoh ini, metode digunakan untuk mendeteksi apakah ada situasi di mana dibagi nol; Jika ada, kesalahan tertangkap. Jika tidak ada penanganan pengecualian, program ini akan mengakhiri dan menghasilkan kesalahan "DivideByZeroException Not Handled".
  1. class ExceptionTest
  2. {
  3.     static double SafeDivision(double x, double y)
  4.     {
  5.         if (y == 0)
  6.             throw new System.DivideByZeroException();
  7.         return x / y;
  8.     }
  9.     static void Main()
  10.     {
  11.         // Input for test purposes. Change the values to see
  12.         // exception handling behavior.
  13.         double a = 98, b = 0;
  14.         double result = 0;

  15.         try
  16.         {
  17.             result = SafeDivision(a, b);
  18.             Console.WriteLine("{0} divided by {1} = {2}", a, b, result);
  19.         }
  20.         catch (DivideByZeroException e)
  21.         {
  22.             Console.WriteLine("Attempted divide by zero.");
  23.         }
  24.     }
  25. }
Salin kode






Mantan:C# menentukan apakah string berisi karakter
Depan:Menentukan apakah situs web dibuat oleh program forum Discuz
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com