Rumah > Artikel > pembangunan bahagian belakang > C# disemak
Untuk menyemak limpahan secara eksplisit bagi operasi jenis integral dan penukaran dalam aritmetik, semakan limpahan mesti didayakan untuk operasi jenis integral dan penukaran dalam aritmetik dan ini boleh dilakukan dengan menggunakan kata kunci yang dipanggil kata kunci disemak dalam C# dan dengan menggunakan tanda semak kata kunci untuk ungkapan dalam C#, ungkapan malar disemak untuk limpahan semasa masa larian dan jika terdapat limpahan, pengecualian limpahan dibangkitkan oleh pengkompil manakala ungkapan yang tidak malar tidak disemak untuk limpahan semasa masa larian walaupun menggunakan kata kunci dan limpahan yang disemak, pengecualian tidak dibangkitkan dalam kes sedemikian.
Sintaks kata kunci yang disemak C# adalah seperti berikut:
checked(Expression)
Kod:
//a namespace called check is defined namespace check { //a class called space is defined public class space { //main method is called public static void Main() { // Using checked keyword to check if the value is over flowing checked { // Increasing the value upto the value of maximum int number = 0; for (int x = 0; x < int.MaxValue; x++) { number++; } // Increasing the value upto the value of maximum again (error). for (int x = 0; x < int.MaxValue; x++) { number++; } } } } }
Output:
Dalam program di atas, ruang nama yang dipanggil semak ditentukan. Kemudian kelas yang dipanggil ruang ditakrifkan. Kemudian kaedah utama dipanggil. Kemudian kami telah menggunakan kata kunci yang disemak untuk menyemak sama ada nilai melimpah dengan meningkatkan nilai sehingga nilai maksimum. Jika kami tidak menggunakan kata kunci yang disemak dalam program di atas, tiada pengecualian akan dibuang. Oleh kerana kami telah menggunakan kata kunci yang disemak dalam program kami, pengecualian seperti yang ditunjukkan dalam petikan output dilemparkan. Kata kunci yang disemak dalam program boleh diaktifkan dengan memilih pilihan dalam pengkompil "/ditanda". Pengecualian limpahan dinaikkan apabila nombor pembolehubah ditambah satu setiap kali untuk mencapai nilai maksimum integer yang tidak boleh dimuatkan dalam lokasi memori. Pengecualian limpahan dinaikkan semasa masa berjalan dengan menggunakan arahan perantaraan khas.
Berikut ialah contoh berikut yang disebut di bawah
Atur cara C# untuk menunjukkan penggunaan kata kunci yang ditandai untuk membuang pengecualian.
Kod:
using System; //a namespace called check is defined namespace check { //a class called space is defined public class space { //main method is called public static void Main() { // Using checked keyword to check if the value is over flowing checked { int twenty = 20; int j = 2147483647 + twenty; Console.WriteLine(j); } } } }
Output:
Dalam program di atas, ruang nama yang dipanggil semak ditentukan. Kemudian kelas yang dipanggil ruang ditakrifkan. Kemudian kaedah utama dipanggil. Kemudian kami telah menggunakan kata kunci yang disemak untuk menyemak sama ada nilai melimpah dengan memberikan nilai 20 kepada pembolehubah dua puluh dan kemudian menambahnya kepada nilai maksimum integer supaya pengecualian akan dilemparkan. Jika kami tidak menggunakan kata kunci yang disemak dalam program di atas, tiada pengecualian akan dibuang. Oleh kerana kami telah menggunakan kata kunci yang disemak dalam program kami, pengecualian seperti yang ditunjukkan dalam petikan output dilemparkan. Kata kunci yang disemak dalam program boleh diaktifkan dengan memilih pilihan dalam pengkompil "/ditanda". Pengecualian limpahan dinaikkan apabila nilai pembolehubah dua puluh ditambah kepada nilai maksimum integer yang tidak boleh dimuatkan di lokasi memori. Pengecualian limpahan dinaikkan semasa masa berjalan dengan menggunakan arahan perantaraan khas.
Atur cara C# untuk menunjukkan penggunaan kata kunci yang ditandai untuk membuang pengecualian.
Kod:
using System; //a class called check is defined public class Check { //the maximum value of integer is assigned to a variable static int maxInt = 2147483647; //main method is called public static void Main() { Console.WriteLine(CheckMethod()); } static int CheckMethod() { int y = 0; try { y = checked (maxInt + 1); } catch (System.OverflowException e) { Console.WriteLine("An overflow exception is raised because of maximum integer value " + e.ToString()); } return y; } }
Output:
Dalam program di atas, kelas yang dipanggil Semak ditentukan. Kemudian nilai maksimum integer diberikan kepada maxInt pembolehubah. Kemudian kaedah utama dipanggil. Kemudian kami memanggil fungsi kaedah semak di mana kami telah menggunakan blok cuba-tangkap yang terdiri daripada penggunaan kata kunci yang disemak untuk menambah satu kepada nilai maksimum integer dan blok tangkapan terdiri daripada pernyataan pengecualian yang kami mahu dipaparkan. Jika kami tidak menggunakan kata kunci yang disemak dalam program di atas, tiada pengecualian akan dibuang. Oleh kerana kami telah menggunakan kata kunci yang disemak dalam program kami, pengecualian seperti yang ditunjukkan dalam petikan output dilemparkan. Kata kunci yang disemak dalam program boleh diaktifkan dengan memilih pilihan dalam pengkompil "/ditanda". Pengecualian limpahan dinaikkan apabila nilai pembolehubah dua puluh ditambah kepada nilai maksimum integer yang tidak boleh dimuatkan di lokasi memori. Pengecualian limpahan dinaikkan semasa masa berjalan dengan menggunakan arahan perantaraan khas.
Dalam tutorial ini, kami memahami konsep kata kunci yang disemak dalam C# melalui definisi, sintaks kata kunci yang disemak dalam C#, Mengerjakan kata kunci yang disemak dalam C# melalui contoh dan outputnya.
Atas ialah kandungan terperinci C# disemak. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!