Loại lỗi thứ hai là lỗi thời gian chạy. Một chương trình có lỗi thời gian chạy là một chương trình vượt qua kiểm tra cú pháp phiên dịch và bắt đầu thực thi. Tuy nhiên, trong quá trình thực hiện một trong các câu lệnh trong chương trình, xảy ra lỗi đã khiến trình thông dịch ngừng thực hiện chương trình và hiển thị thông báo lỗi. Lỗi thời gian chạy cũng được gọi là ngoại lệ vì chúng thường chỉ ra rằng một cái gì đó đặc biệt [và xấu] đã xảy ra.runtime error. A program with a runtime error is one that passed the interpreter’s syntax checks, and started to execute. However, during the execution of one of the statements in the program, an error occurred that caused the interpreter to stop executing the program and display an error message. Runtime errors are also called exceptions
because they usually indicate that something exceptional [and bad] has happened. Dưới đây là một số ví dụ về các lỗi thời gian chạy phổ biến mà bạn chắc chắn gặp phải: Biến số và chức năng bị lỗi chính tả hoặc viết hoa không chính xác Nỗ lực thực hiện các hoạt động [như hoạt động toán học] trên dữ liệu của loại sai [ví dụ: cố gắng trừ hai biến giữ các giá trị chuỗi] Chia cho số không Nỗ lực sử dụng chức năng chuyển đổi loại như Chương trình sau đây chứa các lỗi thời gian chạy khác nhau. Bạn có thể phát hiện ra bất kỳ trong số họ? Sau khi định vị lỗi, chạy chương trình để xem thông báo lỗi. Lưu ý những khác biệt quan trọng sau đây giữa các lỗi cú pháp và lỗi thời gian chạy có thể giúp bạn khi bạn cố gắng chẩn đoán và sửa chữa vấn đề: Nếu thông báo lỗi đề cập đến Nếu chương trình chạy một phần và sau đó gặp sự cố, bạn sẽ biết vấn đề là lỗi thời gian chạy. Các chương trình có lỗi cú pháp không thực hiện ngay cả một dòng. Hãy theo dõi để biết thêm chi tiết về các loại lỗi thời gian chạy khác nhau. Chúng tôi có toàn bộ phần của chương này dành riêng cho chủ đề đó. Kiểm tra việc hiểu của bạn Điều nào sau đây là lỗi thời gian chạy?int
trên một giá trị có thể được chuyển đổi thành intSyntaxError
, bạn sẽ biết rằng vấn đề phải làm với cú pháp: cấu trúc của mã, dấu câu, v.v.
- Các lập trình viên.
- Các lập trình viên hiếm khi tìm thấy tất cả các lỗi thời gian chạy, có một chương trình máy tính sẽ làm điều đó cho chúng tôi.
- Thông dịch viên.
- Nếu một hướng dẫn là bất hợp pháp để thực hiện tại thời điểm đó trong quá trình thực hiện, trình thông dịch sẽ dừng lại với một thông báo mô tả ngoại lệ.
- Máy tính.
- Vâng, loại của. Nhưng đó là một điều đặc biệt trong máy tính làm điều đó. Máy tính độc lập mà không có phần bổ sung này không thể làm được.
- Giáo viên / người hướng dẫn.
- Giáo viên và người hướng dẫn của bạn có thể tìm thấy hầu hết các lỗi thời gian chạy của bạn, nhưng chỉ vì họ có kinh nghiệm xem mã và có thể viết mã. Với kinh nghiệm lỗi thời gian chạy dễ tìm hơn. Nhưng chúng tôi cũng có một cách tự động để tìm các loại lỗi này.
Ai hoặc những gì thường tìm thấy lỗi thời gian chạy?
Bạn đã thử các hoạt động trên trang này of activities on this page
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Đọc
- Bàn luận
- Lỗi thời gian chạy:
- Lỗi thời gian chạy trong chương trình là một lỗi xảy ra trong khi chương trình đang chạy sau khi được biên dịch thành công.
- Các lỗi thời gian chạy thường được gọi là được gọi là lỗi của Bugs và thường được tìm thấy trong quá trình gỡ lỗi trước khi phần mềm được phát hành.
- Khi lỗi thời gian chạy xảy ra sau khi một chương trình được phân phối cho công chúng, các nhà phát triển thường phát hành các bản vá hoặc các bản cập nhật nhỏ được thiết kế để khắc phục các lỗi.logical errors, Input/Output errors, undefined object errors, division by zero errors, and many more.
Bất cứ ai cũng có thể tìm thấy danh sách các vấn đề mà họ có thể gặp phải nếu họ là người mới bắt đầu trong bài viết này.
- Mặc dù giải quyết các vấn đề trên nền tảng trực tuyến, nhiều lỗi thời gian chạy có thể phải đối mặt, không được chỉ định rõ ràng trong thông báo đi kèm với chúng. Có một loạt các lỗi thời gian chạy xảy ra như lỗi logic, lỗi đầu vào/đầu ra, lỗi đối tượng không xác định, phân chia theo lỗi không và nhiều lỗi khác. SIGFPE is a floating-point error. It is virtually always caused by a division by 0. There can be mainly three main causes of SIGFPE error described as follows:
- Các loại lỗi thời gian chạy:
- SIGFPE: SIGFPE là một lỗi dấu phẩy động. Nó hầu như luôn luôn được gây ra bởi một bộ phận vào 0. Chủ yếu có thể có ba nguyên nhân chính gây ra lỗi SIGFPE được mô tả như sau:
- Chia cho số không.
Hoạt động modulo bằng 0.
C++
#include
Tràn số nguyên.
Dưới đây là chương trình để minh họa lỗi SIGFPE:
{
using
namespace
std;
SyntaxError
3int
main[]
SyntaxError
7Output:
int
SyntaxError
1 It is an error itself is detected by the program then this signal is generated using call to abort[] function. This signal is also used by standard library to report an internal error. assert[] function in C++ also uses abort[] to generate this signal.SyntaxError
5SyntaxError
6C++
#include
Tràn số nguyên.
Dưới đây là chương trình để minh họa lỗi SIGFPE:
{
using
namespace
std;
int
main[]
int
main[]
SyntaxError
7Output:
int
SyntaxError
1 This error denotes “Non-Zero Exit Code”. For C users, this error will be generated if the main[] method does not have a return 0 statement. Java/C++ users could generate this error if they throw an exception. Below are the possible reasons of getting NZEC error:SyntaxError
5SyntaxError
6- SIGABRT: Đó là một lỗi được phát hiện bởi chương trình thì tín hiệu này được tạo bằng cách sử dụng hàm call to abort []. Tín hiệu này cũng được sử dụng bởi Thư viện tiêu chuẩn để báo cáo lỗi nội bộ. Hàm Assert [] trong C ++ cũng sử dụng ABORT [] để tạo tín hiệu này.
- Dưới đây là chương trình để minh họa lỗi SIGBRT:
int
#include
7
int
using
0using
1int
using
3NZEC: Lỗi này biểu thị mã thoát khác không. Đối với người dùng C, lỗi này sẽ được tạo nếu phương thức chính [] không có câu lệnh Return 0. Người dùng Java/C ++ có thể tạo lỗi này nếu họ ném một ngoại lệ. Dưới đây là những lý do có thể xảy ra khi gặp lỗi NZEC:
Đệ quy vô hạn hoặc nếu bạn hết bộ nhớ ngăn xếp.
Chỉ số mảng âm được truy cập.
std;
3std;
4std;
0std;
6Output:
- ArrayIndexoutOfBound ngoại lệ. This error is the most common error and is known as
“Segmentation Fault“. It is generated when the program tries to access a memory that is not allowed to access or attempts to access a memory location in a way that is not allowed. List of some of the common reasons for segmentation faults are:
- StringIndexoutOfBound Exceptions.
- Dưới đây là chương trình để minh họa lỗi NZEC:
- Python
using
8using
9namespace
0namespace
0namespace
2namespace
3namespace
4___“&” [address of] and “*”[dereferencing] operators.- SIGSEGV: Lỗi này là lỗi phổ biến nhất và được gọi là lỗi phân đoạn của Cameron. Nó được tạo ra khi chương trình cố gắng truy cập bộ nhớ không được phép truy cập hoặc cố gắng truy cập vị trí bộ nhớ theo cách không được phép. Danh sách một số lý do phổ biến cho các lỗi phân đoạn là:
- Truy cập một mảng ra khỏi giới hạn.
- Giày con trỏ NULL.
Dereferfresing giải phóng bộ nhớ.
C++
std;
7Tràn số nguyên.
Dưới đây là chương trình để minh họa lỗi SIGFPE:
{
using
namespace
std;
int
main[]
Dưới đây là chương trình để minh họa lỗi SIGFPE:
{
main[]
4SyntaxError
7Output:
using
namespace
std;
int
main[]
0 on your system but not on the coding platform.int
SyntaxError
1SyntaxError
5SyntaxError
6- Tránh khai báo quá nhiều bộ nhớ ngăn xếp. Mảng lớn nên được khai báo trên toàn cầu bên ngoài chức năng.
- Sử dụng trả về như câu lệnh cuối cùng.
- Tránh tham khảo bộ nhớ miễn phí hoặc con trỏ null.