Mục Lục
Mục Lục
Exception & Collection Video Tìm hiểu exception + debug + package - lập trình Java Nâng Cao Video Tìm hiểu collections, Sets, Maps và Generic - lập trình java nâng cao Chương trình quản lý sinh viên bằng HashMap - Java Advanced Bài tập ôn luyện String, StringBuilder, StringBuffer - Java Advanced Bài tập Exception trong Java File Video Hướng dẫn đọc ghi file FileInputStream, FileOutputStream, ObjectInputStream trong java - lập trình java nâng cao File - Quản lý thông tin sinh viên Quản lý thông tin sinh & lưu object file - Java nâng cao Video Quản lý thông tin sinh & lưu object file - Java nâng cao Video Bài tập quản lý bán vé máy bay - java nâng cao Thread Video Tìm hiểu Thread trong Java - Phần 2 - lập trình java nâng cao Thread thực hiện in ngẫu nhiên các số nguyên và ký tự Video Thread thực hiện in ngẫu nhiên các số nguyên và ký tự - Phần 1 Video Thread thực hiện in ngẫu nhiên các số nguyên và ký tự & Đông bộ thread + wait notify + synchronized + Java nâng cao - Phần 2 Sử dụng MultiThreading sinh ký tự a-zA-Z trong java CSDL Video Kết nối CSDL bằng java swing phần 1 - lập trình java nâng cao Design Pattern & Đa Ngôn Ngữ Video Hướng dẫn tìm hiểu đệ quy qua bài Fibonaci - Recursion Fibonaci - Java Phân chia mảng số nguyên thành 2 phần + chắc + lẻ Video Phân chia mảng số nguyên thành 2 phần + chắc + lẻ Video Design Pattern lập trình java nâng cao - lập trình java nâng cao Bài tập - Chương trình quản lý sách - lập trình đa ngôn ngữ - Khoá học lập trình Java nâng cao XML & JSON & CSDL Video Tìm hiểu XML & Hướng dẫn phân tích tài liệu XML quản lý lớp học bằng Java XML: Viết chương trình phân tích tài liệu XML thông tin cá nhân bằng Java Video - Hướng dẫn tạo dự án quản lý sinh viên + import + export XML File XML: Java Swing|FX Quản lý thông tin cá nhân Profile bằng java - import + export XML File Video Json/Gson & Java - Phân tích dữ liệu lớp học JSON bằng Java -Ứng dụng quản lý lớp học Java nâng cao Video gson trong Java - Vi dụ json trong java - Bài tập quản lý sản phẩm + json trong Java JSON: Tạo JSON file & đọc nội dung JSON file thông tin cá nhân bằng Java Bài tập - Nhập thông tin sinh viên từ JSON vào CSDL - Lập trình Java nâng cao. Mini Project - Phân tích dự án + Phát triển phần mềm ATM Chương trình quản lý sinh viên Java + Import/Export JSON + File - Lập Trình Java Video C1 > Chương trình quản lý sinh viên Java + Import/Export JSON + File - Lập Trình Java Video C2 > Chương trình quản lý sinh viên Java + Import/Export JSON + File - Lập Trình Java Bài tập - Viết chương trình quản lý tiêm chủng Vacxin COVID-19 - Lập trình Java nâng cao. Bài tập - Viết tools hỗ trợ đọc logs bằng Java Bài tập - Viết chương trình quản lý sinh viên XML - JSON - Lập trình Java Quản lý sinh viên + XML + JSON + MySQL bằng Java Video Quản lý sinh viên + XML + JSON + MySQL bằng Java Ôn Tập Tổng Quát & Exmination Bài tập luyện thi Java2 Bài thi Java 2
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.



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

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

×