Ví dụ về Cerr C++

Vi Du Ve Cerr C



Khi phải làm việc với lập trình C++, chúng ta có thể gặp những tình huống khác nhau khi gặp phải lỗi. Vì vậy, để hiển thị lỗi đó, chúng tôi sử dụng từ khóa “cerr” trong C++. Có thể nói rằng chúng tôi sử dụng đối tượng “cerr” để in thông báo lỗi trong C++. Tệp tiêu đề “iostream” chứa phần khai báo của đối tượng này. Nó được sử dụng cùng với các ký hiệu chèn “<<” để hiển thị lỗi hoặc chi tiết mà chúng tôi đã nhập trong bảng điều khiển. Chúng ta sẽ tìm hiểu kỹ về đối tượng “cerr” này trong hướng dẫn này.

Ví dụ 1:

“iostream” là tệp tiêu đề đi kèm ở đây mà chúng tôi đã đặt để có thể sử dụng các phương thức “cin” hoặc “cout” trong mã của mình vì cả hai phương thức đều được khai báo bên trong nó. Đối tượng “cerr” cũng được khai báo trong tệp tiêu đề này. Sau đó, chúng ta có “không gian tên std”. Bây giờ, chúng ta không cần thêm “std” này với từng hàm một cách độc lập.

Sau đó, “main()” được gọi ở đây. Bên dưới phần này, chúng tôi sử dụng đối tượng “cerr” và đặt thông báo lỗi mà chúng tôi muốn hiển thị trên bảng điều khiển. Chúng tôi gõ 'Đã xảy ra lỗi ở đây!' thông báo trong “cerr” này sau khi đặt các ký hiệu chèn. Khi chúng tôi chạy chương trình này, thông báo đã cho sẽ được hiển thị mà không cần sử dụng “cout”.







Mã 1:

#include

sử dụng không gian tên std ;

int chủ yếu ( ) {

cer << 'Đã xảy ra lỗi ở đây!' << kết thúc ;

trở lại 0 ;

}

Đầu ra:



Thông báo mà chúng tôi nhập sau khi đặt “cerr <<” hiện được hiển thị trong kết quả này và được hiển thị như sau:







Ví dụ 2:

Vì cả hai phương thức “cin” và “cout” cũng như “cerr” đều được khai báo bên trong tệp tiêu đề “iostream”, nên chúng tôi thêm tệp tiêu đề vào đây để có thể sử dụng chúng trong mã của mình. Sau đó, chúng ta có “không gian tên std”. Bên dưới này, “main()” sẽ được gọi. Chúng ta khởi tạo “error_str[]” của kiểu dữ liệu “string” và gán thông báo cho “error_str[]”. Sau đó, chúng tôi sử dụng đối tượng “cerr” để đặt thông báo lỗi và chuyển “error_str” này. Vì vậy, khi chúng tôi thực hiện chương trình này, nó sẽ hiển thị cả hai thông báo.

Mã 2:

#include

sử dụng không gian tên std ;

int chủ yếu ( ) {

ký tự lỗi_str [ ] = 'Chúng ta không thể đọc được dòng chữ ở đây!' ;

cer << 'Có lỗi : ' << lỗi_str << kết thúc ;

}

Đầu ra:



Văn bản mà chúng tôi nhập sau khi nhập “cerr <<” hiện hiển thị trong kết quả cũng như thông báo mà chúng tôi đã thêm vào “error_str”. Kết quả còn được thể hiện ở hình sau:

Ví dụ 3:

Sau khi bao gồm tệp tiêu đề và đặt không gian tên “std”, chúng ta gọi phương thức “main()”. Sau đó, biến số nguyên “NumOfLine” được khai báo tại đây và được khởi tạo bằng “__LINE__”. “__LINE__” này tạo ra các thông báo lỗi. Bên dưới phần này, chúng tôi sử dụng đối tượng “cerr” và đặt thông báo lỗi mà chúng tôi muốn hiển thị cho người dùng. Chúng tôi cũng đặt biến “NumOfLine” hiển thị số dòng xảy ra lỗi trong mã.

Mã 3:

#include

sử dụng không gian tên std ;

int chủ yếu ( ) {

int số dòng = __ĐƯỜNG KẺ__ ;

cer << 'Đã xảy ra lỗi ở đây trên dòng:' << số dòng ;

trở lại 0 ;

}

Đầu ra:

Ở đây, nó cho thấy lỗi xảy ra trên dòng “4” khi chúng tôi thêm “__LINE__” trên dòng thứ tư của mã. Thông báo này được hiển thị ở đây với sự trợ giúp của đối tượng “cerr” trong C++.

Ví dụ 4:

Chúng tôi bao gồm một tệp tiêu đề nữa, “fstream”. Tệp tiêu đề “fstream” này được sử dụng trong C++ để đọc, ghi hoặc tạo tệp vì nó là sự kết hợp giữa “ofstream” cũng như “ifstream”. Bây giờ, sau khi thêm “không gian tên std” và gọi “main()”, chúng tôi sử dụng “fstream” với biến “new_file”.

Sau đó, chúng tôi sử dụng hàm “open()” ở đây với “new_file” và chuyển tên của tệp làm tham số. Tên tệp là “myTextFile.txt” mà chúng tôi muốn mở. Bên dưới điều này, chúng tôi sử dụng “if” để chuyển biến “new_file”. Bây giờ, nếu tệp mở ở đây, câu lệnh sau “if” sẽ được hiển thị. Nếu không, câu lệnh sau “else” sẽ được hiển thị khi chúng ta thêm đối tượng “cerr” để hiển thị thông báo lỗi.

Mã 4:

#include

#include

sử dụng không gian tên std ;

int chủ yếu ( ) {

fstream new_file ;

tập tin mới. mở ( 'myTextFile.txt' ) ;

nếu như ( tập tin mới ) {

cout << 'Tập tin được mở thành công ở đây!' ;

}

khác {

cer << 'Đã xảy ra lỗi khi mở tệp ở đây!' ;

}

trở lại 0 ;

}

Đầu ra:

Chúng tôi không thể mở tệp mà chúng tôi đã cung cấp trước đó. Ở đây, nó hiển thị thông báo lỗi mà chúng ta đã chèn sau đối tượng “cerr”.

Ví dụ 5:

Ở đây, chúng tôi muốn mở một tập tin khác. Vì vậy, chúng tôi thêm cả tệp tiêu đề và không gian tên “std”. Bây giờ, chúng ta gọi “main()” và sau đó sử dụng “fstream” với biến “t_file”. Tiếp theo, chúng tôi sử dụng hàm “open()” trong trường hợp này với “new_file” và cung cấp tên tệp làm đối số. Tệp mà chúng tôi muốn mở có tên là “New.txt”. Chúng tôi sử dụng câu lệnh “if”, chuyển biến “t_file”. Bây giờ, nếu tệp mở ra, dòng theo sau “if” sẽ được hiển thị. Nếu không, câu lệnh theo sau “else”, trong đó chúng tôi đã thêm đối tượng “cerr” để hiển thị thông báo lỗi, sẽ được hiển thị.

Mã 5:

#include

#include

sử dụng không gian tên std ;

int chủ yếu ( ) {

luồng t_file ;

t_file. mở ( 'New.txt' ) ;

nếu như ( t_file ) {

cout << 'Tập tin được mở ở đây!' ;

}

khác {

cer << 'Có lỗi!' ;

}

trở lại 0 ;

}

Đầu ra:

Không thể mở được tệp mà chúng tôi cung cấp. Vì vậy, thông báo lỗi mà chúng tôi đã thêm sau đối tượng “cerr” được hiển thị như sau:

Ví dụ 6:

Chúng tôi thêm tệp tiêu đề “ngoại lệ” vào đây, tệp này được sử dụng để kiểm tra các lỗi có thể xảy ra trong mã của chúng tôi. Trong phần sau đây, chúng ta khởi tạo một mảng kiểu số nguyên có tên là “new_array” có kích thước “6”. Sau đó, chúng ta đặt “new_index” của biến “int” và gán “7” ở đây. Bây giờ, chúng ta cũng khởi tạo biến “new_size” và gán “*(&new_arr + 1) – new_arr” cho biến “new_size”.

Sau đó, chúng tôi sử dụng “thử”, “ném” và “bắt” được sử dụng để kiểm tra lỗi và đưa ra thông báo lỗi. Chúng tôi sử dụng đối tượng “color” để hiển thị thông báo lỗi mà chúng tôi đã thêm sau từ khóa “ném”.

Mã 6:

#include

#include

sử dụng không gian tên std ;

int chủ yếu ( ) {



int new_arr [ 6 ] = { 1 , 9 , 4 , 3 , số 8 , 7 } ;

int chỉ mục mới = 7 ;



int kích thước mới = * ( & new_arr + 1 ) - new_arr ;

thử {

nếu như ( chỉ mục mới < 0 || chỉ mục mới >= kích thước mới ) ném ( 'Chỉ số không nằm trong phạm vi. Ở đây nó nằm ngoài phạm vi' ) ;



khác

cout << new_arr [ chỉ mục mới ] ;



}

nắm lấy ( hằng số ký tự * lỗi ) {

cer << lỗi ;

}

trở lại 0 ;

}

Đầu ra:

Ở đây, nó hiển thị một thông báo lỗi cho thấy “Index” nằm ngoài phạm vi và chúng tôi gặp lỗi này khi sử dụng đối tượng “cerr”.

Ví dụ 7:

Ở đây, chúng tôi kiểm tra lỗi có thể xảy ra khi chúng tôi chia một số cho 0. Chúng ta tạo một hàm “d()” trong đó chúng ta truyền hai biến kiểu dữ liệu “int” “a1” và “a2”. Bên dưới phần này, chúng tôi thêm “if” trong đó chúng tôi đáp ứng điều kiện “a2==0”. Nếu giá trị của “a2” bằng 0, thông báo mà chúng ta đặt sau lệnh “ném” sẽ được thực thi mà chúng ta nhận được bằng cách đặt đối tượng “cerr” vào mã.

Sau đó, chúng ta đặt “return” để trả về kết quả của phép chia nếu giá trị của “a2” khác 0. Bây giờ, chúng ta gọi “main()” và gán “87” cho “x” sau khi khởi tạo nó dưới dạng biến “int”. Sau đó, chúng ta cũng khởi tạo các biến “b” và “d_res” bằng “0”. Ở đây, chúng tôi đặt “thử” và “bắt” để bắt lỗi và “cerr” đưa ra thông báo lỗi mà chúng tôi đã thêm sau từ khóa “ném”.

Mã 7:

#include

sử dụng không gian tên std ;

int phân chia của tôi ( int a1 , int a2 ) {

nếu như ( a2 == 0 ) {

ném 'Không thể chia cho số 0!' ;

}

trở lại ( a1 / a2 ) ;

}

int chủ yếu ( ) {

int x = 87 ;

int = 0 ;

int d_không có gì = 0 ;

thử {

d_không có gì = phân chia của tôi ( x , ) ;

cout << d_không có gì << kết thúc ;

} nắm lấy ( hằng số ký tự * tin nhắn ) {

cer << tin nhắn << kết thúc ;

}

trở lại 0 ;

}

Đầu ra:

Ở đây xuất hiện thông báo lỗi nghĩa là chúng ta muốn chia số đó cho “0” nhưng điều này là không thể.

Phần kết luận

Đối tượng “cerr” được nghiên cứu chi tiết ở đây. Chúng tôi đã xác định cách đối tượng “cerr” hỗ trợ hiển thị thông báo lỗi trong lập trình C++. Chúng tôi đã khám phá nhiều ví dụ trong đó chúng tôi đặt nhiều điều kiện xảy ra lỗi. Chúng tôi cũng sử dụng đối tượng “cerr” sau khi đặt phương thức try-catch và trong mã mở tệp. Chúng tôi đã hiển thị mã cũng như kết quả trong đó “cerr” hiển thị thông báo lỗi.