Tạo bởi Trần Văn Điêp|
Java Advanced

[Video] Tìm hiểu exception + debug + package - lập trình Java Nâng Cao

🔹 1. Exception trong Java (Xử lý ngoại lệ)

1.1. Khái niệm

Exception là các lỗi xảy ra trong quá trình chạy chương trình (runtime), khiến chương trình dừng đột ngột nếu không được xử lý.
Java cung cấp cơ chế xử lý ngoại lệ (Exception Handling) giúp chương trình không bị crash và có thể khắc phục lỗi hợp lý.

🧩 1.2. Các loại Exception

LoạiMô tảVí dụ
Checked ExceptionĐược kiểm tra khi biên dịch (compile time). Bắt buộc xử lý bằng try-catch hoặc throws.IOException, SQLException
Unchecked ExceptionXảy ra khi chạy (runtime), không bắt buộc phải xử lý.NullPointerException, ArithmeticException
ErrorLỗi nghiêm trọng, không thể xử lý được.OutOfMemoryError

💻 1.3. Cấu trúc try – catch – finally

public class ExceptionExample { public static void main(String[] args) { try { int result = 10 / 0; // Lỗi chia cho 0 System.out.println("Kết quả: " + result); } catch (ArithmeticException e) { System.out.println("Lỗi: " + e.getMessage()); } finally { System.out.println("Khối finally luôn được thực thi!"); } } }

🟢 Kết quả:

Li: / by zero Khi finally luôn được thc thi!

🛠 1.4. Tạo Exception tùy chỉnh (Custom Exception)

class InvalidAgeException extends Exception { public InvalidAgeException(String message) { super(message); } } public class CustomExceptionDemo { static void checkAge(int age) throws InvalidAgeException { if (age < 18) throw new InvalidAgeException("Tuổi chưa đủ để đăng ký!"); System.out.println("Đăng ký thành công!"); } public static void main(String[] args) { try { checkAge(15); } catch (InvalidAgeException e) { System.out.println("Lỗi: " + e.getMessage()); } } }

🔹 2. Debug trong Java (Gỡ lỗi chương trình)

2.1. Khái niệm

Debug (gỡ lỗi) là quá trình phát hiện và khắc phục lỗi trong chương trình bằng cách theo dõi luồng thực thi, giá trị biến, điều kiện logic...

🧠 2.2. Mục đích của Debug

  • Tìm nguyên nhân gây lỗi (bug) trong code.

  • Quan sát giá trị biến khi chương trình chạy.

  • Kiểm tra luồng xử lý có đúng như mong đợi không.

💡 2.3. Các bước debug cơ bản (với IntelliJ IDEA / Eclipse)

  1. Đặt breakpoint tại dòng cần dừng chương trình.

  2. Chạy chương trình ở chế độ Debug (Shift + F9).

  3. Dừng tại breakpoint → xem giá trị biến, stack trace.

  4. Bước từng dòng (Step Over / Step Into) để xem luồng chạy.

  5. Sửa lỗi nếu thấy giá trị không đúng hoặc logic sai.

💻 2.4. Ví dụ Debug:

public class DebugExample { public static void main(String[] args) { int total = 0; for (int i = 1; i <= 5; i++) { total += i; // Đặt breakpoint ở đây } System.out.println("Tổng = " + total); } }

👉 Khi debug, bạn có thể theo dõi giá trị total tăng dần từ 0 → 15.


🔹 3. Package trong Java (Đóng gói & tổ chức mã nguồn)

3.1. Khái niệm

Packagenhóm các lớp (class), interface, và sub-package được tổ chức theo cấu trúc thư mục.
Giúp quản lý mã nguồn dễ dàng, tránh trùng tên lớp, và tái sử dụng code hiệu quả.

🧱 3.2. Cấu trúc Package

Ví dụ:

com.tracnghiemviet.quiz │ ├── model │ └── Question.java ├── service │ └── QuizService.java └── MainApp.java

💻 3.3. Khai báo Package

package com.tracnghiemviet.quiz.model; public class Question { private String content; private String[] options; private char correctAnswer; // Constructor, Getter, Setter }

👉 Ở file khác, để sử dụng lớp này:

import com.tracnghiemviet.quiz.model.Question; public class MainApp { public static void main(String[] args) { Question q = new Question(); System.out.println("Tạo câu hỏi mới!"); } }

💡 3.4. Lợi ích của Package

  • Quản lý hàng trăm lớp trong dự án dễ dàng hơn.

  • Tránh xung đột tên lớp giữa các module.

  • Giúp đóng gói và bảo vệ mã (kết hợp với access modifiers).

  • Tạo cấu trúc chuẩn khi build và deploy (JAR/WAR).


🎓 Tổng kết kiến thức

Chủ đềKỹ năng đạt đượcỨng dụng thực tế
ExceptionBiết xử lý và tạo ngoại lệ tùy chỉnhGiúp chương trình ổn định, dễ bảo trì
DebugBiết gỡ lỗi, theo dõi luồng chạy, giá trị biếnSửa lỗi nhanh, giảm thời gian test
PackageTổ chức, tái sử dụng và đóng gói mã nguồnDự án chuyên nghiệp, dễ mở rộng

🚀 Bài tập thực hành gợi ý

  1. Viết chương trình chia hai số có xử lý ngoại lệ chia cho 0.

  2. Viết class LoginSystem có ngoại lệ InvalidUserException.

  3. Tạo project có package model, service, controller.

  4. Sử dụng debug để tìm lỗi logic trong vòng lặp hoặc điều kiện if.

Phản hồi từ học viên

5

Tổng 0 đánh giá

Đăng nhập để làm bài kiểm tra

Chưa có kết quả nào trước đó