Rumah  >  Artikel  >  pembangunan bahagian belakang  >  C# akhirnya

C# akhirnya

WBOY
WBOYasal
2024-09-03 15:22:12787semak imbas

Ralat mungkin disebabkan oleh pengecualian yang menamatkan kaedah yang sedang berjalan dalam pengaturcaraan, dan kaedah itu akan membuka fail atau rangkaian yang perlu ditutup dengan penamatan kaedah semasa. Untuk mengatasi masalah tersebut, kami mempunyai kata kunci khas dalam C# yang dipanggil Akhir sekali dan blok Akhir kod ini akan dilaksanakan apabila perlaksanaan blok cuba dan tangkap berhenti, tanpa mengira apa jua keadaan yang menyebabkan perhentian pelaksanaan dan ia tidak penting jika perlaksanaan blok cuba berhenti seperti biasa atau terhenti kerana pengecualian. Blok Akhirnya kod dilaksanakan dan melepaskan sumber yang terlibat adalah matlamat utama blok kod Akhirnya dan ia ditulis selepas cuba dan tangkap blok kod .

Sintaks:

try
{
//Block of code
}
// this can be optional
catch
{
//Block of code
}
finally
{
//Block of code
}

Kerja akhirnya Kata Kunci dalam C#

  • Sebarang sumber yang diperuntukkan dalam blok cuba boleh dibersihkan dengan menggunakan blok kod Akhirnya dan blok kod Akhirnya berjalan tanpa mengira pengecualian yang dibangkitkan dalam blok cuba.
  • Pernyataan dalam blok Akhirnya kod dilaksanakan apabila kawalan meninggalkan blok cuba kod. Kawalan dipindahkan sebagai sebahagian daripada pelaksanaan biasa atau pelaksanaan penyata goto, penyata putus, penyataan sambung atau penyata kembali.
  • Jika terdapat pengendalian pengecualian, blok akhirnya kod yang dikaitkan dengannya pasti berjalan dan jika tiada pengendalian pengecualian, jalankan blok kod akhirnya bergantung pada pencetus operasi unwind exception yang seterusnya bergantung pada sediakan komputer.
  • Tidak boleh lebih daripada satu blok Akhirnya kod dalam program yang sama dalam C#.
  • Kawalan tidak akan meninggalkan blok akhirnya kerana tiada pernyataan goto, pernyataan putus, pernyataan sambung atau kembali dalam blok akhirnya.

Contoh untuk Melaksanakan C# akhirnya

Di bawah adalah contoh C# Akhirnya:

Contoh #1

Atur cara C# untuk menunjukkan penggunaan blok Akhirnya kod dalam atur cara.

Kod:

using System;
//a class called program is defined
class program
{
// a method called ClassA() is defined
static void ClassA()
{
try
{
Console.WriteLine("We are inside class A");
//An exception is thrown
throw new Exception("An exception is thrown");
}
//finally block is executed regardless of the exception is handled or not
finally
{
Console.WriteLine("This is the finally block of Class A");
}
}
// a method called ClassB() is defined
static void ClassB()
{
try
{
Console.WriteLine("We are Inside class B");
return;
}
//finally block is executed regardless of the exception is handled or not
finally
{
Console.WriteLine("This is the finally block of class B");
}
}
// Main Method is called
public static void Main(String[] args)
{
try
{
ClassA();
}
catch (Exception)
{
Console.WriteLine("The exception that is thrown is caught");
}
ClassB();
}
}

Output:

C# akhirnya

Penjelasan: Dalam atur cara di atas, atur cara ialah kelas yang ditakrifkan. Kemudian kaedah yang dipanggil ClassA ditakrifkan di mana cuba dan akhirnya blok kod ditulis. Blok cuba melemparkan pengecualian yang ditangkap kemudian. Kemudian Akhirnya blok dilaksanakan tanpa mengira sama ada pengecualian dikendalikan atau tidak. Kemudian kaedah yang dipanggil ClassB ditakrifkan. Kemudian blok akhirnya dilaksanakan tanpa mengira sama ada pengecualian dikendalikan atau tidak. Kemudian kaedah utama dipanggil.

Contoh #2

Atur cara C# untuk menunjukkan penggunaan kata kunci akhirnya dalam atur cara yang mempunyai pengendalian pengecualian.

Kod:

using System;
//a class called program is defined
public class program
{
// Main Method is called
static public void Main()
{
// two integer variables are defined to store two integers
intnum = 10;
int div = 0;
//try and catch block is defined in which an exception is raised by try block and is handled by catch block
try
{
int op = num / div;
}
catch (DivideByZeroException)
{
Console.WriteLine("The divisor can not be zero because it is impossible to divide by 0");
}
// finally block is executed regardless of the exception is handled or not
finally
{
Console.WriteLine("We are in the finally block");
}
}
}

Output:

C# akhirnya

Penjelasan: Dalam atur cara di atas, kelas yang dipanggil atur cara ditakrifkan. Kemudian Kaedah utama dipanggil. Kemudian dua pembolehubah integer ditakrifkan untuk menyimpan dua integer. Kemudian blok cuba dan tangkap ditakrifkan di mana pengecualian dibangkitkan oleh blok cuba dan dikendalikan oleh blok tangkapan. Kemudian akhirnya blok dilaksanakan tanpa mengira pengecualian dikendalikan atau tidak.

Contoh #3

Atur cara C# untuk menunjukkan penggunaan kata kunci akhirnya dalam atur cara yang tidak mempunyai pengendalian terkecuali.

Kod:

using System;
//a class called program is defined
public class program
{
// Main Method is called
static public void Main()
{
// two integer variables are defined to store two integers
intnum = 10;
int div = 0;
//try and catch block is defined in which an exception is raised by try block and is handled by catch block
try
{
int op = num / div;
}
// finally block is executed regardless of the exception is handled or not
finally
{
Console.WriteLine("We are in the finally block");
}
}
}

Output:

C# akhirnya

Penjelasan: Dalam atur cara di atas, kelas yang dipanggil atur cara ditakrifkan. Kemudian Kaedah utama dipanggil. Kemudian dua pembolehubah integer ditakrifkan untuk menyimpan dua integer. Kemudian cuba blok ditakrifkan. Kemudian akhirnya blok dilaksanakan tanpa mengira pengecualian dikendalikan atau tidak. Output program ditunjukkan dalam syot kilat di atas.

Kelebihan

  1. Akhir sekali, blok kod dilaksanakan tanpa mengira apa yang berlaku dalam blok cuba seperti pengecualian dilemparkan atau tidak dilemparkan, jika terdapat penyataan pulangan, tiada apa-apa yang penting.
  2. Penggunaan utama blok kod akhirnya adalah untuk melepaskan semua sumber mahal yang diperuntukkan dalam blok percubaan.
  3. Akhir sekali, sekat memastikan bahawa operasi akan dilakukan tanpa mengira sebarang pengecualian yang dilemparkan.

Kesimpulan: Dalam tutorial ini, kami memahami konsep kata kunci akhirnya dalam C# melalui definisi, sintaks, bekerja melalui contoh pengaturcaraan dan outputnya.

Artikel Disyorkan

Ini adalah panduan untuk C# Akhirnya. Di sini kita membincangkan Pengenalan kepada C# akhirnya dan kelebihannya bersama dengan contoh dan Pelaksanaan Kodnya. Anda juga boleh membaca artikel cadangan kami yang lain untuk mengetahui lebih lanjut –

  1. Apakah Penjana Nombor Rawak dalam C#?
  2. Pembina Statik di Jawa | Bekerja | Aplikasi
  3. TextWriter dalam C# | Contoh
  4. Bagaimana untuk Bekerja Pembina Statik dalam C#?

Atas ialah kandungan terperinci C# akhirnya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:C# Rentetan Boleh NullArtikel seterusnya:C# Rentetan Boleh Null