K THU T L P TRÌNH H C ĐI N Ơ
T
Programming Engineering in Mechatronics
1
TR NG ĐI H C BÁCH KHOA HÀ N IƯỜ
Gi ng viên: TS. TS. Đng Thái Vi t
Đn vơ : B môn C đi n t , Vi n C khí ơ ơ
Hà N i, 09/2017
2
CH NG 13. C++ nâng caoƯƠ
13.1 X lý ngo i l (Exception Handling)
13.2 B nh đng
13.3 Namespace
13.4 Template
13.5 B ti n x lý (Preprocessor)
13.6 X lý tín hi u (Signal Handling)
13.7 Đa lu ng (Multithread)
13.8 M t s l p quan tr ng
3
X lý ngo i l (Exception Handling)
Gi i thi u
MộtException (ngoại lệ)làmộtvấnđềxuấthiệntrong
khithựcthimộtchươngtrình.MộtExceptiontrongC++là
một phản hồi về một tình huống ngoại lệ mà xuất hiện
trongkhimộtchươngtrìnhđangchạy,vídụnhưchiacho
số0.
Exceptioncungcấpmộtcáchđểtruyềnđiềukhiểntừmột
phần của một chương trình tới phần khác. Exception
Handling(Xửlýngoạilệ)trongC++đượcxâydựngdựa
trên3từkhóalà:try, catch,vàthrow.
4
X lý ngo i l (Exception Handling)
Gi i thi u
§throw:MộtchươngtrìnhnémmộtExceptionkhimộtvấn
đề xuất hiện. Việc này được thực hiện bởi sử dụng từ
khóathrowtrongC++.
§catch:Một chương trình bắt một Exception với một
Exception Handler tại vị trí trong một chương trình nơi
bạnmuốnxửlývấnđềđó.TừkhóacatchtrongC++chỉ
dẫnviệcbắtmộtexception.
§try:Một khốitrycó thể được bắt bởi một số lượng cụ
thể exception. Nó được theo sau bởi một hoặc nhiều
khốicatch.
5
X lý ngo i l (Exception Handling)
Gi i thi u
GiảsửmộtkhốisẽtạomộtExeption,mộtphươngthức
bắt một exception bởi sử dụng kết hợp c từ
khóatryvàcatch. Một khối try/catch được đặt xung
quanhcodemàcóthểtạomộtexception.Codebêntrong
mộtkhốitry/catchđượcxemnhưlàcodeđượcbảovệ,
vàcúphápđểsửdụngtry/catchtrongC++nhưsau: