Chuyển đến nội dung chính

Exceptions Trong C++

C++ Exceptions

Khi thực thi mã C ++, các lỗi khác nhau có thể xảy ra: lỗi mã hóa do lập trình viên thực hiện, lỗi do nhập sai hoặc những điều không thể lường trước khác.

Khi xảy ra lỗi, C ++ thường sẽ dừng và tạo ra thông báo lỗi. Thuật ngữ kỹ thuật cho điều này là: C ++ sẽ ném một ngoại lệ (ném một lỗi).

C++ try and catch

Xử lý ngoại lệ trong C ++ bao gồm ba từ khóa:try, throw và catch:

Câu lệnh try cho phép bạn xác định một khối mã được kiểm tra lỗi trong khi nó đang được thực thi.

Từ khóa throw ném một ngoại lệ khi phát hiện sự cố, điều này cho phép chúng tôi tạo ra một lỗi tùy chỉnh.

Câu lệnh catch cho phép bạn xác định một khối mã sẽ được thực thi, nếu có lỗi xảy ra trong khối try.

Các từ khóa try và catch đi theo từng cặp:

Example

try {
  // Block of code to try
  throw exception; // Throw an exception when a problem arise
}
catch () {
  // Block of code to handle errors
}

Hãy xem xét ví dụ sau:

Example

try {
  int age = 15;
  if (age >= 18) {
    cout << "Access granted - you are old enough.";
  } else {
    throw (age);
  }
}
catch (int myNum) {
  cout << "Access denied - You must be at least 18 years old.\n";
  cout << "Age is: " << myNum;
}

Giải thích ví dụ

Chúng tôi sử dụng khối try để kiểm tra một số mã: Nếu biến age nhỏ hơn 18, chúng tôi sẽ throw một ngoại lệ và xử lý nó trong khối catch của chúng tôi.

Trong khối catch lỗi, chúng tôi bắt lỗi và làm điều gì đó với nó. Câu lệnh catch nhận một tham số: trong ví dụ của chúng tôi, chúng tôi sử dụng một biến int (myNum) (vì chúng tôi đang ném một ngoại lệ kiểu int trong khối try (age)), để xuất ra giá trị của age.

Nếu không có lỗi nào xảy ra (ví dụ: nếu age là 20 thay vì 15, nghĩa là lớn hơn 18), khối catch được bỏ qua:

Example

int age = 20;

Bạn cũng có thể sử dụng từ khóa throw để xuất ra một số tham chiếu, chẳng hạn như mã / mã lỗi tùy chỉnh cho mục đích tổ chức:

Example

try {
  int age = 15;
  if (age >= 18) {
    cout << "Access granted - you are old enough.";
  } else {
    throw 505;
  }
}
catch (int myNum) {
  cout << "Access denied - You must be at least 18 years old.\n";
  cout << "Error number: " << myNum;
}

Xử Lý Mọi Loại Ngoại Lệ (…)

Nếu bạn không biết kiểu throw được sử dụng trong khối try, bạn có thể sử dụng cú pháp “ba chấm” (…) bên trong khối catch, cú pháp này sẽ xử lý bất kỳ loại ngoại lệ nào:

Example

try {
  int age = 15;
  if (age >= 18) {
    cout << "Access granted - you are old enough.";
  } else {
    throw 505;
  }
}
catch (...) {
  cout << "Access denied - You must be at least 18 years old.\n";
}

 

The post Exceptions Trong C++ first appeared on Techacademy.



source https://techacademy.edu.vn/exceptions-trong-c/

Nhận xét

Bài đăng phổ biến từ blog này

Vẽ Tam Giác Trong C++

Vẽ tam giác trong C++ là một trong những bài tập lập trình về C++ sử dụng vòng lặp khá hay giúp các bạn luyện tư duy code cũng như cách sử dụng vòng lặp. Dưới đây là một số lời giải các bài tập vẽ tam giác trong C++ I. Vẽ Tam Giác Cân Trong C++ Viết chương trình C++ sử dụng ký tự * để vẽ tam giác vuông cân trong C++.Chúng ta sử dụng hai vòng lặp lồng nhau để giải bài toán này. Lời Giải: #include <stdio.h> #include <stdlib.h> int main() { int n; int q = 0; printf("Chuong trinh nay se in ra tam giac can\n"); printf("Nhap chieu cao tam giac cua ban: \n"); scanf("%d",&n); while (n > 0) { for (int i = 1; i<n; i++) printf("%c", ' '); for (int k = 0; k <= q; k ++) printf("%c", '*'); n -- ; q += 2 ; printf("\n"); } return 0; } II. Vẽ Hình Tam Giác Trong C++ Viết một chương trình in ra hình

Nên học C hay C++ ? Lựa chọn nào tốt hơn

Bạn đang mới học lập trình và đang phân vân nên học lập trình C hay C++ , bài viết dưới đây của Tehcacademy.edu.vn sẽ phần nào giải đáp cho bạn thắc mắc trên.  I. Nên học ngôn ngữ lập trình C hay C++ Nếu bạn đang phân vẫn lựa chọn nên học C hay C++ thì dưới đây là một số ưu điểm và nhược điểm của ngôn ngữ lập trình C và C++. Dựa trên đánh giá này, giúp bạn lựa chọn nên học lập trình C hay C++ 1, Ưu điểm và nhược điểm của ngôn ngữ lập trình C, C++ Dưới đây là một số ưu điểm, nhược điểm của ngôn ngữ c và c++: C, C++ đều có những ưu điểm và nhược điểm riêng + Ngôn ngữ lập trình C Ưu điểm : + Hiệu suất cao Mỗi một ngôn ngữ đều dựa vào khả năng sử dụng bộ nhớ để đánh giá hiệu suất. Đây chính là ưu điểm đầu tiên của C, nó có thể chạy mượt mà trên những hệ thống giới hạn về dung lượng, lý do là vì ngay từ đầu C được thiết kế với mục đích thay thế ASM trong các hệ thống bộ nhớ cực hạn chế thập niên 1960. + Tính linh hoạt Lập trình C có 2 tính linh hoạt và là 2 ưu điểm nổi bật củ

Tìm Phần Tử Xuất Hiện Nhiều Nhất Trong Mảng C++

Tìm phần tử xuất hiện nhiều nhất trong mảng là một vấn đề phổ biến trong lập trình C++. Để giải quyết vấn đề này, bạn có thể sử dụng một số phương pháp khác nhau như sử dụng bảng băm (hash table), sắp xếp mảng và duyệt qua mảng. Cùng techacademy đi tìm hiểu chi tiết chủ đề này ngay bài viết bên dưới đây nhé. I. Tìm Phần Tử Xuất Hiện Nhiều Nhất Trong Mảng C++ Trong lập trình C++, việc tìm ra phần tử xuất hiện nhiều nhất trong một mảng là một vấn đề phổ biến và quan trọng. Điều này thường được thực hiện thông qua việc sử dụng các thuật toán và cấu trúc dữ liệu phù hợp. Chúng ta sẽ thảo luận về cách thực hiện điều này một cách hiệu quả trong ngôn ngữ lập trình C++. 1. Sử dụng Bảng Băm (Hash Map): Một cách phổ biến để giải quyết vấn đề này là sử dụng bảng băm. Chúng ta có thể duyệt qua mảng, đếm số lần xuất hiện của mỗi phần tử và lưu trữ chúng trong một bảng băm. 2. Sắp Xếp và Đếm: Một cách khác là sắp xếp mảng và sau đó duyệt qua mảng để đếm số lần xuất hiện của mỗi phần tử liên ti