Mục lục:
- NoClassDefFoundError
- NoSuchMethodError
- Nếu bạn nhận được thông báo lỗi bao gồm không thể giải quyết được biểu tượng, kiểm tra chính tả và viết hoa của tất cả các từ định danh và từ khoá. Sau đó hãy kiểm tra lại.
- Khi bạn thấy một thông báo lỗi cho biết'; 'mong đợi, đi qua mã của bạn và đảm bảo rằng mỗi tuyên bố và mỗi tuyên bố kết thúc với một dấu chấm phẩy.Nếu vậy, thì có lẽ trình biên dịch đoán về một dấu chấm phẩy chưa đầy đủ là không chính xác. Sửa một lỗi khác (dường như không liên quan) và biên dịch lại mã của bạn có thể thoát khỏi lỗi không đúng '; 'tin nhắn mong đợi.
- Bạn nhận được một phương pháp cơ thể mất tích hoặc tuyên bố thông báo trừu tượng khi trình biên dịch thấy một tiêu đề phương pháp, nhưng trình biên dịch không thể tìm thấy cơ thể của phương pháp. Nhìn vào cuối tiêu đề của phương pháp. Nếu bạn đã kết thúc tiêu đề bằng dấu chấm phẩy, hãy thử xóa dấu chấm phẩy.
- So sánh số lượng các khoản nếu có số lượng các khoản khác. Mệnh đề if không cần có mệnh đề else, nhưng mỗi mệnh đề else phải thuộc một mệnh đề if.
- Rất nhiều thứ có thể cho bạn một biến không tĩnh không thể được tham chiếu từ một thông báo lỗi ngữ cảnh tĩnh. Nhưng đối với các lập trình viên bắt đầu, nguyên nhân phổ biến nhất là có một biến được khai báo bên ngoài phương thức chính. Nó không có tội lỗi để tuyên bố như một biến, nhưng vì phương pháp chính luôn luôn tĩnh, bạn cần một số trợ giúp đặc biệt để làm cho các phương pháp chính đề cập đến một biến được khai báo bên ngoài các phương pháp chính.
- Nếu bạn gặp thông báo FileNotFoundException, hãy kiểm tra xem tệp có tên trong mã của bạn có tồn tại hay không.(Tìm tệp bằng cách sử dụng thám hiểm của hệ thống hoặc sử dụng cửa sổ nhắc lệnh) Kiểm tra lại chính tả trong mã của bạn so với tên tệp trên ổ cứng của bạn.
Video: Chương 5 - Bài 1: Quản lý lỗi - Exception phần căn bản 2025
Đôi khi, các thông báo lỗi có thể gây sợ hãi vào lòng ngay cả những lập trình viên dũng cảm nhất. May mắn là một số lời khuyên hữu ích, làm dịu là ở đây - lời khuyên để giúp bạn giải quyết vấn đề khi bạn nhìn thấy một trong những tin nhắn này.
NoClassDefFoundError
Bạn nhận được lỗi này khi bạn đang cố gắng chạy mã của mình. Vì vậy, trước tiên hãy tự hỏi mình, bạn đã cố gắng để biên dịch mã? Nếu vậy, bạn đã thấy bất kỳ thông báo lỗi nào khi biên soạn? Nếu bạn thấy thông báo lỗi, tìm kiếm những điều bạn có thể khắc phục trong. tập tin java. Hãy cố gắng sửa chữa những điều này, và sau đó biên dịch. java lại.
Nếu bạn thường giữ mã trong thư mục JavaPrograms, chắc chắn rằng bạn vẫn đang làm việc trong thư mục JavaPrograms này. (Trong Windows, đảm bảo rằng dấu nhắc lệnh nói rằng JavaPrograms.)
Hãy chắc chắn rằng bạn có một tên thích hợp. class trong thư mục làm việc của bạn. Ví dụ, nếu bạn đang cố gắng để chạy một chương trình có tên MyGreatProg, tìm một tập tin có tên là MyGreatProg. class trong thư mục làm việc của bạn.
Kiểm tra đường dẫn lớp học của bạn để chắc chắn rằng nó chứa các. class mà bạn cần. Ví dụ: nếu tất cả mã Java của bạn nằm trong thư mục làm việc của bạn, hãy đảm bảo rằng đường dẫn bao gồm dấu chấm.
NoSuchMethodError
Khi bạn gặp thông báo lỗi này, hãy kiểm tra lỗi chính tả hoặc viết hoa không nhất quán của một tên phương thức. Kiểm tra chữ viết hoa của chính (không phải chính).
Khi bạn đưa ra lệnh java (hoặc làm bất cứ điều gì bạn thường làm để chạy một chương trình trong môi trường của bạn), lớp học mà bạn đang cố gắng để chạy có chứa phương thức chính riêng của nó? Nếu không, thì tìm lớp bằng phương pháp chính và chạy lớp đó thay thế.
Nếu bạn nhận được thông báo lỗi bao gồm không thể giải quyết được biểu tượng, kiểm tra chính tả và viết hoa của tất cả các từ định danh và từ khoá. Sau đó hãy kiểm tra lại.
Nếu biểu tượng chưa được giải quyết là một biến, đảm bảo rằng khai báo của biến này ở đúng vị trí. Ví dụ, nếu biến được khai báo trong một khởi tạo vòng lặp, bạn đang cố gắng sử dụng biến đó bên ngoài vòng lặp for? Nếu biến được khai báo bên trong một khối (một cặp dấu ngoặc nhọn), bạn có đang cố gắng sử dụng biến đó bên ngoài khối không?
Cuối cùng, hãy tìm lỗi trong khai báo của biến. Nếu trình biên dịch tìm lỗi trong khai báo của biến, trình biên dịch sẽ không thể giải quyết được tên biến đó trong phần còn lại của mã.
Dự kiến '; '(Hoặc mong đợi điều gì khác)
Khi bạn thấy một thông báo lỗi cho biết'; 'mong đợi, đi qua mã của bạn và đảm bảo rằng mỗi tuyên bố và mỗi tuyên bố kết thúc với một dấu chấm phẩy.Nếu vậy, thì có lẽ trình biên dịch đoán về một dấu chấm phẩy chưa đầy đủ là không chính xác. Sửa một lỗi khác (dường như không liên quan) và biên dịch lại mã của bạn có thể thoát khỏi lỗi không đúng '; 'tin nhắn mong đợi.
Đối với dấu ngoặc bị thiếu, hãy kiểm tra các điều kiện của câu lệnh if và vòng lặp. Hãy chắc chắn rằng mỗi điều kiện được bao gồm trong ngoặc đơn. Ngoài ra, đảm bảo rằng một danh sách các tham số (kèm theo trong dấu ngoặc đơn) đi theo tên của mỗi phương pháp.
Để có một thông báo mong muốn, hãy kiểm tra các câu lệnh chuyển nhượng của bạn. Đảm bảo rằng mỗi câu lệnh chuyển nhượng nằm bên trong một phương pháp. (Ghi nhớ, một khai báo với một sự khởi tạo có thể ở bên ngoài một phương thức, nhưng mỗi câu lệnh gán cũ phải nằm bên trong một method.)
Đối với thông điệp dự kiến 'class' hoặc 'interface', chắc chắn rằng bạn đã đánh vần từ lớp chính xác. Nếu mã của bạn có tờ khai nhập, hãy kiểm tra chính tả và viết hoa của từ nhập khẩu.
Thiếu phương thức Phương pháp hoặc Tóm tắt Tóm tắt
Bạn nhận được một phương pháp cơ thể mất tích hoặc tuyên bố thông báo trừu tượng khi trình biên dịch thấy một tiêu đề phương pháp, nhưng trình biên dịch không thể tìm thấy cơ thể của phương pháp. Nhìn vào cuối tiêu đề của phương pháp. Nếu bạn đã kết thúc tiêu đề bằng dấu chấm phẩy, hãy thử xóa dấu chấm phẩy.
Nếu tiêu đề không kết thúc bằng dấu chấm phẩy, hãy kiểm tra mã ngay sau tiêu đề. Mã ngay sau tiêu đề nên bắt đầu với một dấu ngoặc nhọn mở (đầu của một cơ thể phương pháp). Nếu một số mã xuất hiện giữa phần đầu và phần mở ngoặc nhọn mở của cơ thể, hãy xem xét chuyển đoạn mã đó ở nơi khác.
Một 'khác' không có 'if'
So sánh số lượng các khoản nếu có số lượng các khoản khác. Mệnh đề if không cần có mệnh đề else, nhưng mỗi mệnh đề else phải thuộc một mệnh đề if.
Hãy nhớ rằng, bạn kèm theo một điều kiện nếu trong dấu ngoặc, nhưng bạn không đặt dấu chấm phẩy sau điều kiện. Bạn đã nhầm lẫn kết thúc điều kiện nếu với dấu chấm phẩy?
Nhìn vào tất cả các dòng giữa một if và khác của nó. Khi bạn tìm thấy nhiều hơn một câu giữa một if và cái khác, hãy tìm dấu ngoặc nhọn. Nếu các câu giữa if và cái khác không được bao quanh bởi dấu ngoặc nhọn, bạn có thể đã tìm ra thủ phạm.
Biến không tĩnh không thể được tham chiếu từ Biến Tĩnh
Rất nhiều thứ có thể cho bạn một biến không tĩnh không thể được tham chiếu từ một thông báo lỗi ngữ cảnh tĩnh. Nhưng đối với các lập trình viên bắt đầu, nguyên nhân phổ biến nhất là có một biến được khai báo bên ngoài phương thức chính. Nó không có tội lỗi để tuyên bố như một biến, nhưng vì phương pháp chính luôn luôn tĩnh, bạn cần một số trợ giúp đặc biệt để làm cho các phương pháp chính đề cập đến một biến được khai báo bên ngoài các phương pháp chính.
Giải pháp nhanh nhất là đặt từ tĩnh ở phía trước khai báo của biến. Nhưng trước tiên, hãy tự hỏi tại sao tuyên bố của biến này không nằm trong phương thức chính. Nếu không có lý do chính đáng, sau đó di chuyển khai báo của biến để nó nằm trong phương thức main.
FileNotFoundException (Hệ thống không thể tìm được tệp được chỉ định) hoặc EOFException
Nếu bạn gặp thông báo FileNotFoundException, hãy kiểm tra xem tệp có tên trong mã của bạn có tồn tại hay không.(Tìm tệp bằng cách sử dụng thám hiểm của hệ thống hoặc sử dụng cửa sổ nhắc lệnh) Kiểm tra lại chính tả trong mã của bạn so với tên tệp trên ổ cứng của bạn.
Nếu bạn đã tìm thấy một tệp được đặt tên chính xác trên ổ cứng của mình, đảm bảo rằng tệp đó nằm trong thư mục chính xác. (Đối với một chương trình đang chạy trong thư mục làm việc của bạn, một tệp dữ liệu điển hình cũng nằm trong thư mục làm việc)
Nếu bạn là người dùng Windows, hãy đảm bảo rằng hệ thống không thêm phần bổ sung. txt khi bạn tạo tập tin. Windows Explorer có thể ẩn phần mở rộng.txt và luôn dẫn đến sự nhầm lẫn)
Đối với EOFException, có thể bạn đang cố gắng đọc nhiều dữ liệu hơn bạn có trong tập tin. Rất thường xuyên, một lỗi logic nhỏ làm cho chương trình của bạn làm điều này. Vì vậy, hãy xem xét cẩn thận tất cả các bước thực hiện chương trình của bạn. Tìm kiếm những điều tinh vi, như các vòng lặp primed không đúng hoặc đọc các giá trị mảng qua chỉ số lớn nhất của mảng. Tìm các điều kiện sử dụng