Exception là gì? Những sai lầm thường gặp về Exception và cách để khắc phục
https://fptshop.com.vn/https://fptshop.com.vn/
Nguyễn Thu Hằng
2 năm trước

Exception là gì? Những sai lầm thường gặp về Exception và cách để khắc phục

Exception là các sự kiện có thể xảy ra trong quá trình thực thi chương trình, làm gián đoạn luồng xử lý bình thường của chương trình. Nhưng không phải lập trình viên nào cũng hiểu rõ về cách xử lý ngoại lệ một cách hiệu quả. Trong bài viết này, chúng ta sẽ tìm hiểu chi tiết về Exception.
Chia sẻ:
Cỡ chữ nhỏ
Cỡ chữ nhỏ
Cỡ chữ lớn
Nội dung bài viết
Exception là gì?
Làm sao để phân biệt Error và Exception?
Một số phương thức phổ biến của lớp Exceptions trong Java
Kết luận

Trong lập trình, Exception đóng vai trò quan trọng trong việc xử lý các tình huống bất ngờ xảy ra trong quá trình thực thi chương trình. Tuy nhiên, nhiều lập trình viên, đặc biệt là những người mới bắt đầu, thường mắc phải những sai lầm phổ biến khi sử dụng Exception. Bài viết này FPT Shop sẽ cùng bạn đi sâu vào giải thích về Exception.

Exception là gì?

Exception, hay còn gọi là ngoại lệ, là một sự kiện bất thường hoặc đặc biệt xảy ra trong quá trình thực thi chương trình. Nó có thể do nhiều nguyên nhân gây ra, chẳng hạn như:

  • Lỗi đầu vào: Người dùng nhập dữ liệu không hợp lệ.
  • Lỗi tài nguyên: Tệp bị hỏng hoặc không tồn tại.
  • Lỗi logic: Lỗi trong mã chương trình.
  • Lỗi hệ thống: Mất điện, lỗi phần cứng,...

Khi một Exception xảy ra, chương trình sẽ ngừng hoạt động bình thường và chuyển sang chế độ xử lý Exception. Lúc này, lập trình viên cần có biện pháp xử lý phù hợp để đảm bảo chương trình hoạt động ổn định và không bị sập.

Exception là gì?

Vai trò của Exception

  • Giúp chương trình hoạt động ổn định: Khi có Exception xảy ra, chương trình sẽ không bị sập mà sẽ được xử lý theo cách mà lập trình viên đã định nghĩa.
  • Dễ dàng bảo trì: Việc sử dụng Exception giúp cho code dễ đọc và dễ hiểu hơn, từ đó giúp cho việc bảo trì code dễ dàng hơn.
  • Tăng cường tính an toàn: Exception giúp ngăn chặn sự lan truyền lỗi và đảm bảo chương trình hoạt động an toàn.

Vai trò của Exception

Phân loại Exception

Có hai loại Exception chính:

  • Checked Exception: Là những Exception mà lập trình viên buộc phải xử lý.
  • Unchecked Exception: Là những Exception mà lập trình viên có thể lựa chọn xử lý hoặc bỏ qua.

Phân loại Exception

Làm sao để phân biệt Error và Exception?

Điểm giống nhau

  • Error và Exception đều là các Throwable, đại diện cho các tình huống bất thường trong chương trình.
  • Cả hai đều có thể được bắt và xử lý bằng các khối try-catch.
  • Mục đích của cả Error và Exception đều là giúp chương trình hoạt động ổn định và an toàn hơn.

Điểm khác nhau

Đặc điểm

Error

Exception

Loại lỗi

Lỗi hệ thống hoặc lỗi lập trình nghiêm trọng

Lỗi logic hoặc lỗi dữ liệu

Kiểm tra

Không được kiểm tra (unchecked)

Có thể được kiểm tra (checked) hoặc không được kiểm tra (unchecked)

Khả năng phục hồi

Thông thường không thể phục hồi

Có thể phục hồi trong một số trường hợp

Mục đích

Báo cáo lỗi hệ thống hoặc lỗi lập trình nghiêm trọng

Giúp lập trình viên xử lý các tình huống bất thườn

Làm sao để phân biệt Error và Exception

Một số phương thức phổ biến của lớp Exceptions trong Java

getMessage()

Phương thức này trả về thông điệp chi tiết về ngoại lệ. Thông điệp này cung cấp thông tin thêm về lỗi đã xảy ra, giúp lập trình viên hiểu rõ nguyên nhân của ngoại lệ.

printStackTrace()

Phương thức này in ra stack trace của ngoại lệ đến luồng đầu ra chuẩn (thường là console). Điều này bao gồm tên ngoại lệ và mô tả, cùng với dấu vết của các cuộc gọi phương thức ở đâu đã xảy ra ngoại lệ.

getCause()

Phương thức này trả về ngoại lệ nguyên nhân (cause) mà đã gây ra ngoại lệ này, nếu có. Điều này hữu ích trong việc phân tích các chuỗi ngoại lệ nơi một ngoại lệ là kết quả của một ngoại lệ khác.

toString()

Phương thức này trả về một chuỗi bao gồm tên của lớp ngoại lệ và thông điệp của ngoại lệ. Đây là cách nhanh chóng để nhận được thông tin cơ bản về ngoại lệ mà không cần thông tin chi tiết như stack trace.

fillInStackTrace()

Phương thức này ghi đè stack trace hiện tại của ngoại lệ với thông tin hiện tại. Nó có thể được sử dụng để ghi lại điểm mà ngoại lệ được ném ra khỏi một tình huống cụ thể, có thể giúp phân tích sự cố một cách hiệu quả hơn.

getStackTrace()

Phương thức này trả về một mảng các phần tử stack trace, mỗi phần tử đại diện cho một khung chồng lên nhau của cuộc gọi phương thức. Thông tin này có thể được sử dụng để phân tích chi tiết hơn về chuỗi các sự kiện dẫn đến ngoại lệ.

Một số phương thức phổ biến của lớp Exceptions trong Java

Kết luận

Hiểu rõ về Exception và cách sử dụng hiệu quả là một kỹ năng quan trọng cho bất kỳ lập trình viên nào. Bằng cách nắm vững những kiến thức được chia sẻ trong bài viết này, bạn có thể viết code an toàn, ổn định và dễ dàng bảo trì hơn. Hãy ghi nhớ những sai lầm thường gặp và áp dụng các cách khắc phục để nâng cao kỹ năng lập trình của bạn.

Xem thêm:

Bạn có phải là một lập trình viên chuyên nghiệp hay đang bắt đầu sự nghiệp? Nếu cần một chiếc máy tính cấu hình cao để làm việc, tham khảo ngay tại FPT Shop.

PC

Thương hiệu đảm bảo

Thương hiệu đảm bảo

Nhập khẩu, bảo hành chính hãng

Đổi trả dễ dàng

Đổi trả dễ dàng

Theo chính sách đổi trả tại FPT Shop

Giao hàng tận nơi

Giao hàng tận nơi

Trên toàn quốc

Sản phẩm chất lượng

Sản phẩm chất lượng

Đảm bảo tương thích và độ bền cao