Exception (part 2)

Semasa membuat input/output, kita mesti membuat exception handling. Jika perasan, semua class yang terlibat dengan input/output perlu ditutup menggunakan method close() selepas digunakan. Contohnya,

package essential;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class InputDariFile {
    public static void main(String[] args) throws IOException {
        BufferedReader reader =null;

        try {
            reader = new BufferedReader(new FileReader("cubaan.txt"));

            String input;

            while ((input = reader.readLine()) != null) {
                System.out.println(input);
            }
        } finally {
            reader.close();
        }
    }
}

Bagi mengelakkan programmer lupa untuk menutup semula class tersebut, Java menyediakan satu lagi jenis exception handling iaitu try-with-resources.

try-with-resources

Dalam try-with-resources, class yang digunakan untuk input/output diletakkan di dalam kurungan selepas try:

package essential;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;

public class InputDariFile {
    public static void main(String[] args) {
        try (BufferedReader reader = new BufferedReader(new FileReader("cubaan.txt"))) {
            String input;

            while ((input = reader.readLine()) != null) {
                System.out.println(input);
            }
        } catch (IOException ex) {
            // Handle exception
        }
    }
}

Jadi, Java akan tutup secara automatik class BufferedReader selepas digunakan walaupun kita tidak meletakkan method close().

Keyword catch, finally, dan throws masih boleh digunakan seperti biasa.

Website ini menggunakan cookie yang dikendalikan oleh pihak ketiga. Anda boleh membaca dengan lebih lanjut di sini. Dengan menggunakan website ini, anda bersetuju dengan penggunaan cookie tersebut.

Setuju