Trước khi bắt đầu đi chi tiết vào bài học, mình muốn các bạn biết rằng, ở đời không ai là hoàn hảo cả. Khi con người ta đủ lớn khôn, họ sẽ bắt đầu mắc lỗi. Điều quan trọng trong cuộc sống này là, không phải lúc nào bạn cũng cứ tránh xảy ra lỗi (vì nói thẳng ra là chẳng ai muốn dây vào lỗi hết), mà là nên học cách như thế nào đó để khi mắc lỗi rồi thì sẽ khắc phục và vượt qua lỗi lầm như thế nào thôi.
Ôi sao bài học hôm nay nặng triết lý quá vậy. Thực ra mình dẫn dụ tí cho vui. Đại ý của bài học hôm nay cũng sẽ gần như triết lý trên vậy. Tức là chúng ta sẽ xem xét đến một khía cạnh LỖI. LỖI ở đây là LỖI xảy ra trong các đoạn code mà chúng ta viết ra, một cách nghiêm túc và chuyên sâu.
Quay lại triết lý một chút, rằng một khi mà ứng dụng của chúng ta đủ lớn (cả về số dòng code lẫn tính năng), thì chắc chắn khi đó chúng ta sẽ khó kiểm soát được tính ổn định của logic ứng dụng. Và đến một lúc nào đó sẽ có LỖI xảy ra, LỖI nhẹ sẽ khiến hệ thống tung ra một số thông báo lạ lẫm đến người dùng, làm họ hoang mang, lỗi nặng hơn nữa sẽ làm cho ứng dụng bị kết thúc một cách đột ngột. Và cũng như triết lý trên kia, bạn không mong muốn LỖI xảy ra, nhưng bạn nên hiểu và phân biệt được các dạng LỖI trong Java, để có thể cung cấp cho ứng dụng một kịch bản đủ mạnh để vượt qua được LỖI mà không bị kết thúc một cách đột ngột, chí ít là cũng có thể thông báo một nội dung rõ ràng về tình trạng LỖI, hơn là để họ loay hoay với cái chức năng mà ứng dụng của bạn đã mất khả năng kiểm soát.