Xử lí ngoại lệ trong C#

15 439 2
Xử lí ngoại lệ trong C#

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

 Exception Handling     !"#!"$%&%'()*+,-./012+*' (30)042*2-  5#+6#72089#:%!(;"+6#72!)%<=)>/0 +?'$*)+@A$B+6#7!2*4%7,  C)DE";A00%&'+6+@F1@A! !%&.2=C2)A0)"2A+G" H2%&*+, I  H?J2*+,/0*0<(KL2#M7@(0%(K#A+,2*'"" 32  C42%&?"3"(K/4*4N?4%&?N?"3"(K /8C5O3*.P0@+G"(KL#M2*11  O"J*2-*+,4%4*'3)2*+,/0 )BQ0%; 32R  J@S0&2  J$/J'Q0@S02  J%;?'A02  J%;32%?A0 T@S0& 2  TJ@%4M0M)0((5?(UR  VA(85F0((2W)N0((2*%4M0<4 )4M0((A  VA(8VA(5F#7)2*+,(0602AQ08C5O#:F V0%XYZ5A0%1@Q0V0%*BA=  VA(8[05F#7)2*+,*LP0\)-S0 ]1@0A #7  ]#[((5FA!*4)$%&*+,/A!  ^#A_5F0`  a05F%&**L#2  b#XXcd05F+,)e(;Q000Af(=  Cdc5F04%&,  [C5F*;(;A  b0#0(5F/)%&,  [5F0(;%N )1Q0@ 5W)  gT%h(iFjdT#D*4J! JZ(S0&*BA*Q2  ^00hb^0AiF!,) %Af0#!$*LP0 *L1A  gd(hiF-0Q02  b5h5iF42A*+,/M$1%;0?S0*<*;+, 23*2-%;0  ]((0h(iF&2  Vh(iF$S#: *;+,A0  V0%O0h(iF#k+GSN(0%  O0Vh]#0(iF*;+,&+GSA02 C/2@M%?0 Z public class Humans { public int Age { get { return Age; } set { if (value >= 0) { Age = value; Console.WriteLine(“Tuoi la {0}”, Age); } else throw new Exception(“Tuoi khong chinh xac”); } } } H1*;+,A0*;+,A?' /*2#N?@M%?0Z) *+,/0J*;+,S0&2 I2@%; Al0 static void Main(string[] args) { Console.WriteLine(“Simple Exception Example”); Humans a = new Humans() { Age = 30; } try { for (int i = 0; i < 4; i++) a.Age -= 10; } catch (Exception e) { Console.WriteLine(“Exception Message: {0}”, e.Message); } } m'I20(3#:%;Al08H; A#7*'S0*2?%n/02 8H;0(KI2*'3 I2@%; Al0  o#:$0WQ00;pBMqr;srJrrlJr"A0(Q0+GS[ (K/0J28V0*?%;0(KI2A0"&) Kết quả: Tuoi la 30 Tuoi la 20 Tuoi la 10 Tuoi la 0 Exception Message: Tuoi khong chinh xac m'I20(3#:%;Al08H; A#7*'S0*2?%n/02 8H;0(KI2*'3 [...]... những ngoại lệ không được viết trong C# hoặc không được quản trong C# Ví dụ trong C++, mọi biến đều có thể được ném ra như 1 ngoại lệ, nếu ta gọi đoạn mã này trong C++, nó sẽ bắt được các ngoại lệ không dẫn xuất từ class System.Exception Khối catch không có tham catch số { Console.WriteLine(“Co loi nao do xay ra”); }  Nhiều khi chúng ta cần phải thực hiện 1 vài lệnh dù cho có hoặc không xảy ra ngoại. .. dù cho có hoặc không xảy ra ngoại lệ Ví dụ: khi ta mở 1 file và thao tác trên file đó, dù có hoặc không xảy ra ngoại lệ thì ta vẫn phải đóng file lại Khối lệnh finally  Một cách giải quyết là đưa cậu lệnh đóng file vào trong cả khối try và khối catch Tuy nhiên cách này gây ra sự trùng lặp lệnh  C# cung cấp khối lệnh finally để thực hiện thao tác này Ví dụ về khối lệnh try-catch-finally string path... Bắt ngoại lệ với nhiều khối catch Khi chạy: Nhap 1 so tu 1 den 10, nhap rong de thoat: 5 So ban nhap la 5 Nhap 1 so tu 1 den 10, nhap rong de thoat: 20 Co loi! Ban phai nhap so tu 1 den 10! Ban da nhap so 20 Nhap 1 so tu 1 den 10, nhap rong de thoat: abc Co loi! Input string was not in a correct format Nhap 1 so tu 1 den 10, nhap rong de thoat:  Khối catch không có tham số sẽ bắt được mọi ngoại lệ. ..Bắt ngoại lệ với nhiều khối catch while (true) { try { Console.Write(“Nhap 1 so tu 1 den 10, nhap rong de thoat: ”); string input = Console.ReadLine(); if (input == “”) break; int index = Convert.ToInt32(input); . Console.WriteLine(“Simple Exception Example”); Humans a = new Humans() { Age = 30; } try { for (int i = 0; i < 4; i++) a.Age -= 10; } catch (Exception e) { Console.WriteLine( Exception Message:.  Exception Handling     !"#!"$%&%'()*+,-./012+*' (30)042*2-  5#+6#72089#:%!(;"+6#72!)%<=)>/0 +?'$*)+@A$B+6#7!2*4%7,  C)DE";A00%&'+6+@F1@A! !%&.2=C2)A0)"2A+G" H2%&*+, I  H?J2*+,/0*0<(KL2#M7@(0%(K#A+,2*'"" 32  C42%&?"3"(K/4*4N?4%&?N?"3"(K /8C5O3*.P0@+G"(KL#M2*11  O"J*2-*+,4%4*'3)2*+,/0 )BQ0%; 32R  J@S0&2  J$/J'Q0@S02  J%;?'A02  J%;32%?A0 T@S0& 2  TJ@%4M0M)0((5?(UR  VA(85F0((2W)N0((2*%4M0<4. index > 10) throw new IndexOutOfRangeException(“Ban da nhap so ” + input); Console.WriteLine(“So ban nhap la {0}”, index); } catch(IndexOutOfRangeException e) { Console.WriteLine(“Co loi!

Ngày đăng: 18/04/2014, 16:25

Mục lục

    Phân biệt bug, error và exception

    Khi ngoại lệ không được bắt

    Các thành phần của khối lệnh xử lí ngoại lệ trong C#

    Lớp chứa thông tin về ngoại lệ

    Một vài lớp exception hay dùng

    Các thuộc tính của lớp Exception tổng quát

    Ném ngoại lệ với từ khóa throw

    Bắt ngoại lệ với khối lệnh try-catch

    Bắt ngoại lệ với khối lệnh try-catch

    Bắt ngoại lệ với nhiều khối catch

Tài liệu cùng người dùng

Tài liệu liên quan