Làm thế nào để tôi nói với một người không giỏi lập trình, sự khác biệt giữa lỗi và ngoại lệ?


Câu trả lời 1:

Đây là cách tôi tưởng tượng sự khác biệt giữa Lỗi và Ngoại lệ.

Lỗi:

Ở đây BẠN đang cố gắng chạy chương trình của bạn nhưng không may là Môi trường Mr. (môi trường ứng dụng của bạn) ném một tảng đá lớn (lỗi) vào bạn vì một số lý do.

Vì vậy, hãy tưởng tượng nếu bạn cố gắng bắt tảng đá khổng lồ đó (tức là xử lý lỗi) thì nó sẽ làm bạn tổn thương nặng nề!

Lỗi xảy ra trong thời gian chạy. Không thể khôi phục từ các lỗi. Lỗi không có nghĩa là bắt. Vì vậy, ngay cả khi bạn bắt lỗi (hãy tưởng tượng tảng đá lớn đó) bạn không thể phục hồi từ nó

Ngoại lệ:

Ở đây BẠN đang cố gắng chạy chương trình của bạn nhưng không may là Ứng dụng Mr. (ứng dụng của bạn) ném một hòn đá nhỏ (ngoại lệ) vào bạn vì một số lý do

Bây giờ bạn có thể cố gắng để bắt tảng đá nhỏ đó hoặc rời đi.

Nếu bạn rời đi thì nó sẽ làm tổn thương bạn và nếu bạn bắt được thì bạn sẽ tự cứu mình!

Nếu có ngoại lệ xảy ra, bạn có thể xử lý nó bằng các khối thử bắt. Có toàn bộ khái niệm dựa trên điều này được gọi là Xử lý ngoại lệ.

Giới thiệu

Đây không phải là ví dụ hoàn hảo để tưởng tượng Lỗi vs Ngoại lệ. Bạn có thể tưởng tượng nhiều ví dụ hơn và làm cho một cái gì đó phù hợp hơn. Một số lập trình viên có thể không thích lời giải thích này .. tuy nhiên bản vẽ này đủ để giải thích cho một người không giỏi lập trình :)

Để tham khảo :

  • Sự khác biệt giữa Lỗi vs Ngoại lệ trong Java Sự khác biệt giữa Lỗi so với Ngoại lệ trong Java - Câu hỏi phỏng vấn

Câu trả lời 2:

Trong ngữ cảnh của Java, điển hình là Ngoại lệ được gây ra bởi lỗi logic trong mã của lập trình viên hoặc không xử lý các tình huống nhất định một cách chủ động. Lỗi là kết quả của môi trường thời gian chạy vấp phải một tình huống khi nó không thể tiếp tục chạy và nó có thể chấm dứt và do đó dừng thực thi bất kỳ ứng dụng nào chạy trên nó.

Một số lỗi có thể do các chương trình viết kém, ví dụ rò rỉ bộ nhớ (việc lưu giữ các đối tượng không mong muốn vượt quá thời lượng hoặc phạm vi dự định) sẽ dẫn đến OutOfMemoryError. Các lỗi khác có thể gặp phải trong quá trình khởi tạo môi trường thời gian chạy.


Câu trả lời 3:

Trong ngữ cảnh của Java, điển hình là Ngoại lệ được gây ra bởi lỗi logic trong mã của lập trình viên hoặc không xử lý các tình huống nhất định một cách chủ động. Lỗi là kết quả của môi trường thời gian chạy vấp phải một tình huống khi nó không thể tiếp tục chạy và nó có thể chấm dứt và do đó dừng thực thi bất kỳ ứng dụng nào chạy trên nó.

Một số lỗi có thể do các chương trình viết kém, ví dụ rò rỉ bộ nhớ (việc lưu giữ các đối tượng không mong muốn vượt quá thời lượng hoặc phạm vi dự định) sẽ dẫn đến OutOfMemoryError. Các lỗi khác có thể gặp phải trong quá trình khởi tạo môi trường thời gian chạy.