GiaoTrinhC++(27Jun21)

(Hoang2711) #1
Ngôn ngữ lập trình C++

Tin Học Cho Mọi Người • 61

Trường hợp trên: int age = 20 nên điều kiện if (age < 18) không thỏa nên không { throw (msgOne)
; } và đương nhiên catch thất nghiệp.


Ví dụ  #include
#include
using namespace std;
int main() {
try { int age = 15;
string msgOne = "You must be over 18. Sorry!";
if (age < 18) { throw (msgOne); } }
catch (string myMsg) { cout << myMsg ; }
cout << "\n...Test for exception completed!"; //lịnh ngoài try ... catch
return 0; }


Kết quả: You must be over 18. Sorry!...Test for exception completed!

Trường hợp trên: int age = 15 nên điều kiện if (age < 18) là thỏa nên có { throw (msgOne) ; } và
đương nhiên catch bắt được chuỗi msgOne chứa vào myMsg (cả hai đều kiểu string), và myMsg
được in ra.


3. Cải tiến các ví dụ try throw catch


Ví dụ sau cải tiến các ví dụ trên bằng cách lồng trong vòng lặp do ... while ... muốn thử với tuổi
nào cũng được, và thử bao nhiêu lần cũng được:
Ví dụ: #include
using namespace std;
int main() { int age ; string again = "Y", stop = "No" ;
do {
cout << "How many years old? "; // gõ số tuổi muốn thử và nhấn enter
cin >> age; // nhận trị do người dùng nhập vào từ bàn phím
try {
if (age >= 18) { cout << "Access granted - you are old enough."; }
else { throw (age); } }
catch (int oneNbr) {
cout << "Access denied - you must be at least 18 years old.\n";
cout << "Your age is: " << oneNbr; }
cout << "\n... Try again? (press No to stop) "; // gõ trả lời và enter
cin >> again; // nhận trị do người dùng nhập vào từ bàn phím
if ( again == "No" || again == "no" || again == "N" || again == "n")
{ stop = "Yes" ; } }
while ( stop == "No") ;
return 0; }


Kết quả:

How many years old? 15
Access denied - you must be at least 18 years old.
Your age is: 15
... Try again? (press No to stop) Yes
How many years old? 20
Access granted - you are old enough.
... Try again? (press No to stop) Y
How many years old? 13
Access denied - you must be at least 18 years old.
Your age is: 13
... Try again? (press No to stop) No
Free download pdf