Rukovanje izuzecima u C # - Kako djeluje rukovanje iznimkama u C # Primjeri

Sadržaj:

Anonim

Uvod o postupanju s iznimkama u C #

Ne možemo očekivati ​​da će korisnik stalno unijeti ispravne detalje. Međutim, ako se pogrešnim ili neočekivanim unosom ne postupa ispravno, cijeli se kôd mogao srušiti ili proći s beskonačnom petljom. To je problem koji se pokreće tijekom izvršavanja programa zbog neočekivanih uvjeta ili unosa. Na primjer, rezultat je beskonačan kada je broj podijeljen s nulom. Rukovanje iznimkama je način na koji se programu nalaže da prijeđe na sljedeći blok koda ili u određenim situacijama osigura definirani rezultat. Rukovanje iznimkama može se provesti s ispod četiri ključne riječi.

  1. Pokušajte: probani blok definira vrstu iznimke koju treba obraditi. Ovdje bi se uhvatila iznimka. Uvijek će se upariti s jednim blokom hvatanja.
  2. Uhvatiti: Nakon što je pokušani blok definirao vrstu i tijekom izvođenja dobio jednu iznimku, blok hvatanja potvrdit će tip alata za obradu iznimki koji se koristi. Ovim će se blokom odrediti i gdje se treba postupati s iznimkom. Kao što ključna riječ kaže, to je poput hvatanja iznimke.
  3. Konačno: ovaj blok ima neki skup izjava. Bez obzira na to što se iznimka baci, izjave definirane u završnom bloku uvijek će se izvršavati.
  4. Bacanje: kad se uhvati iznimka, ključna riječ bacanje koristi se za prikaz uhvaćene iznimke.

Softver ili kôd možete spremiti iz mnogih gnjavaža tako što ćete definirati program za upravljanje izuzetcima. Dobra je praksa definirati alata za obradu izuzetaka gdje god je to moguće.

Sintaksa
Kad god se izuzetak postavi, deklarirana metoda hvata iznimku uz pomoć ključne riječi probati. Moramo smjestiti ovu kombinaciju na dio koda, očekuje se iznimka. Ti se kodovi nazivaju zaštićenim kodom. Možete odrediti i više ključnih riječi za jednu ključnu riječ. Na kraju sadržaja izvršit će se završni dio koda koji će se izvršiti bez obzira na podizanje ili ne izuzetak.

Kodirati

try
(
//Define the statement that could cause an exception.
)
Catch(ExceptionName secondException)
(
//error handling code
)
Finally
(
//define the statement that will be executed
)

Kako djeluje rukovanje iznimkama u C #?

Postoje mnoge unaprijed definirane klase za rukovanje iznimkom. Probni blok pokriva dio koda koji može izuzeti iznimku, a catch potvrđuje što učiniti kada se uhvati iznimka. Završni dio bloka definira što se mora učiniti bez obzira na to je li otkrivena ili ne iznimka ili dio bacanja prikazuje poruku ako je postavljena.

Klase izuzetaka u C #

Na C # postoji mnogo klasa putem kojih se mogu prikazati iznimke. Sve klase su izvedene iz glavne klase koja se zove System. Iznimka. Malo je klasa koje su također izvedene iz System.ApplicationException i System.SystemException.

Primjeri razreda iznimke u C #

Iznimke su izvedene u sustavu. Klasa izuzetaka. Ovdje je popis C # uobičajenih klasa izuzetaka.

izuzetakOpis
System.DivideByZeroExceptionobrađuje pogrešku kada pokušava podijeliti broj na nulu.
System.NullReferenceExceptionobrađuje pogrešku kada se odnosi na objekt koji ne postoji.
System.InvalidCastExceptionobrađuje pogrešku pri pokušaju nevažećeg lijevanja.
System.IO.IOExceptionObrađuje se sva pogreška ulaza i izlaza.
System.FieldAccessExceptionPri pokušaju pristupa neovlaštenoj nastavi

1. C # pokušaj / uhvatiti

Rukovanje izuzetaka provodi se pokušajem i hvatanjem bloka u C #. Probni blok u C # koristi se za postavljanje koda koji može dovesti do iznimke. Izuzetak obrađuje blok hvatanja.

Primjer C # bez pokušaja / ulova

Kodirati:

using System;
public class exceptionhandling
(
public static void Main(string() args)
(
int a = 10;
int b = 0;
int x = a/b; //we are trying to divide the number with zero
Console.WriteLine("other part of the code");
)
)

Izlaz:

Primjer C # pokušaj / uhvatiti

Kodirati

using System;
public class ExExample
(
public static void Main(string() args)
(
try
(
int a = 10;
int b = 0;
int x = a / b;
)
catch (Exception e) ( Console.WriteLine(e); )
Console.WriteLine("Rest of the code");
)
)

Izlaz:

Korištenje klasa iznimka u C # konačno

Prikazivat će vam se poruku bez obzira na to je li uhvaćena iznimka.

Kodirati

using System;
public class Exceptionhandling
(
public static void Main(string() args)
(
try
(
int x = 5;
int y= 0;
int z = x / y;
)
catch (Exception obj) ( Console.WriteLine(obj); )
finally ( Console.WriteLine("Time to execute finally block"); )
Console.WriteLine("Other part of the code");
)
)

Izlaz:

1. C # konačno primjer ako se ne postupa s iznimkom

Kodirati

using System;
public class ExceptionHandling
(
public static void Main(string() args)
(
try
(
int p = 6;
int q = 0;
int r= p/q;
)
catch (NullReferenceException nullObject) ( Console.WriteLine(nullObject); )
finally ( Console.WriteLine("Exception not handled. Now Finally section will be executed"); )
Console.WriteLine("Other part of the code");
)
)

Izlaz:

2. Izuzetak definiran od strane C #

Ne samo da je definiran sustav, nego možemo postaviti i vlastitu iznimku. Međutim, kôd moramo naslijediti kako bismo to postigli.

Kodirati

using System;
public class userdefinedInvalidAge : Exception
(
public userdefinedInvalidAge (String errorMessage)
: base(errorMessage)
(
)
)
public class TestUserDefinedException
(
static void validateAge(int age)
(
if (age < 18)
(
throw new userdefinedInvalidAge("Sorry, Age must be greater than 18");
)
)
public static void Main(string() args)
(
try
(
validateAge(12);
)
catch (userdefinedInvalidAge e) ( Console.WriteLine(e); )
Console.WriteLine("Rest of the code");
)
)

Izlaz:

Zaključak

Na bilo kojem mjestu za koje mislite da bi moglo stvoriti pogrešku zbog bilo čega, treba koristiti obrađivača iznimki. Važno je da koristite izjavu o ulovu i krenete od generičke do određene iznimke. Čitav vaš softver ili kôd ugrožen je bez odgovarajućeg rukovatelja iznimkama.

Preporučeni članci

Ovo je vodič za rukovanje iznimkama u C #. Ovdje smo raspravljali o radu rukovanja iznimkama u C #, primjerima i upotrebi c #. Možete i proći kroz naše druge povezane članke da biste saznali više -

  1. Preopterećenje u C #
  2. C # string funkcije
  3. Upotrebe C #
  4. C # ako Izjava
  5. Vodič za rukovanje iznimkama u VB.NET-u
  6. Preopterećenje i preglasavanje u C #
  7. VB.Net Događaji