Kết quả 1 đến 2 của 2
  1. #1
    Ngày tham gia
    Mar 2015
    Bài viết
    0

    Resource leak Scanner is never closed..Eclipse

    mình mới học java được mấy buổi, cho mình hỏi về cái thông báo "resource leak scanner is never closed" trên eclipse được không.

    đây là đoạn code



    Mã nguồn PHP:
    [color=#000000]
    package ducminh[/color][color=#007700];[/color][color=#0000bb]import java[/color][color=#007700].[/color][color=#0000bb]util[/color][color=#007700].[/color][color=#0000bb]scanner[/color][color=#007700]; public class [/color][color=#0000bb]gia_tri_nho_nhat [/color][color=#007700]{ public static [/color][color=#0000bb]void main[/color][color=#007700]([/color][color=#0000bb]string[/color][color=#007700][] [/color][color=#0000bb]args[/color][color=#007700]) { [/color][color=#0000bb]int a[/color][color=#007700], [/color][color=#0000bb]b[/color][color=#007700]; [/color][color=#0000bb]scanner nhap_a [/color][color=#007700]= new [/color][color=#0000bb]scanner[/color][color=#007700]([/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]in[/color][color=#007700]); [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#dd0000]" nhập số a :"[/color][color=#007700]); [/color][color=#0000bb]a [/color][color=#007700]= [/color][color=#0000bb]nhap_a[/color][color=#007700].[/color][color=#0000bb]nextint[/color][color=#007700](); [/color][color=#0000bb]scanner nhap_b [/color][color=#007700]= new [/color][color=#0000bb]scanner[/color][color=#007700]([/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]in[/color][color=#007700]); [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#dd0000]" nhập số b :"[/color][color=#007700]); [/color][color=#0000bb]b [/color][color=#007700]= [/color][color=#0000bb]nhap_b[/color][color=#007700].[/color][color=#0000bb]nextint[/color][color=#007700](); [/color][color=#0000bb]math[/color][color=#007700].[/color][color=#0000bb]min[/color][color=#007700]([/color][color=#0000bb]a[/color][color=#007700],[/color][color=#0000bb]b[/color][color=#007700]); [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#dd0000]" giá trị nhỏ nhất là :" [/color][color=#007700]+[/color][color=#0000bb]math[/color][color=#007700].[/color][color=#0000bb]min[/color][color=#007700]([/color][color=#0000bb]a[/color][color=#007700],[/color][color=#0000bb]b[/color][color=#007700])); } }[/color] 
    khi chạy thì vẫn chạy được bình thường, nhưng eclipse có thông báo là:
    resource leak: "nhap_a" is never closed
    resource leak: "nhap_b" is never closed

    mình muốn hỏi là có cách nào để xử lý lỗi trên không. mình có sử dụng cấu trúc
    scanner nhap_a = new scanner(system.in);
    try {
    // code
    }
    finally{
    nhap_a.close();
    }
    khi sử dụng đoạn trên thì hết thông báo. nhưng lại không chạy được chương trình.

    các bạn giúp mình với.

    thanks!

  2. #2
    Ngày tham gia
    Feb 2015
    Bài viết
    0
    Trích dẫn Gửi bởi ducminh912
    mình mới học java được mấy buổi, cho mình hỏi về cái thông báo "resource leak scanner is never closed" trên eclipse được không.

    đây là đoạn code



    Mã nguồn PHP:
    [color=#000000]
    package ducminh[/color][color=#007700];[/color][color=#0000bb]import java[/color][color=#007700].[/color][color=#0000bb]util[/color][color=#007700].[/color][color=#0000bb]scanner[/color][color=#007700]; public class [/color][color=#0000bb]gia_tri_nho_nhat [/color][color=#007700]{ public static [/color][color=#0000bb]void main[/color][color=#007700]([/color][color=#0000bb]string[/color][color=#007700][] [/color][color=#0000bb]args[/color][color=#007700]) { [/color][color=#0000bb]int a[/color][color=#007700], [/color][color=#0000bb]b[/color][color=#007700]; [/color][color=#0000bb]scanner nhap_a [/color][color=#007700]= new [/color][color=#0000bb]scanner[/color][color=#007700]([/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]in[/color][color=#007700]); [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#dd0000]" nhập số a :"[/color][color=#007700]); [/color][color=#0000bb]a [/color][color=#007700]= [/color][color=#0000bb]nhap_a[/color][color=#007700].[/color][color=#0000bb]nextint[/color][color=#007700](); [/color][color=#0000bb]scanner nhap_b [/color][color=#007700]= new [/color][color=#0000bb]scanner[/color][color=#007700]([/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]in[/color][color=#007700]); [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#dd0000]" nhập số b :"[/color][color=#007700]); [/color][color=#0000bb]b [/color][color=#007700]= [/color][color=#0000bb]nhap_b[/color][color=#007700].[/color][color=#0000bb]nextint[/color][color=#007700](); [/color][color=#0000bb]math[/color][color=#007700].[/color][color=#0000bb]min[/color][color=#007700]([/color][color=#0000bb]a[/color][color=#007700],[/color][color=#0000bb]b[/color][color=#007700]); [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#dd0000]" giá trị nhỏ nhất là :" [/color][color=#007700]+[/color][color=#0000bb]math[/color][color=#007700].[/color][color=#0000bb]min[/color][color=#007700]([/color][color=#0000bb]a[/color][color=#007700],[/color][color=#0000bb]b[/color][color=#007700])); } }[/color] 
    khi chạy thì vẫn chạy được bình thường, nhưng eclipse có thông báo là:
    resource leak: "nhap_a" is never closed
    resource leak: "nhap_b" is never closed

    mình muốn hỏi là có cách nào để xử lý lỗi trên không. mình có sử dụng cấu trúc
    scanner nhap_a = new scanner(system.in);
    try {
    // code
    }
    finally{
    nhap_a.close();
    }
    khi sử dụng đoạn trên thì hết thông báo. nhưng lại không chạy được chương trình.

    các bạn giúp mình với.

    thanks!
    mình cũng mới học và gặp trường hợp như bạn, bạn kích truột trái vào chó dấu báo lỗi, sau đó ấn vào dòng "@add@suppresswarnings("resource") to" sau đó trong code hiện nên dòng @suppresswarnings("resource") là ok. theo mình nghĩ dòng đó hình như một dạng ngắt cảnh báo lỗi.

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •