Rumah  >  Artikel  >  Java  >  Mengapakah saya mendapat ralat \'Unhandled exception type IOException\' dalam Java dan bagaimana saya boleh membetulkannya?

Mengapakah saya mendapat ralat \'Unhandled exception type IOException\' dalam Java dan bagaimana saya boleh membetulkannya?

Susan Sarandon
Susan Sarandonasal
2024-11-03 07:09:02782semak imbas

Why do I get an

Jenis Pengecualian Tidak Terkendali IOException: Menyelesaikan Enigma

Dalam pengaturcaraan java, menghadapi mesej ralat "Jenis pengecualian tidak dikendalikan IOException" boleh membingungkan. Untuk membantu pembangun menyelesaikan isu ini, artikel ini menyelidiki punca utama dan membentangkan penyelesaian yang berkesan.

Pertimbangkan coretan kod ringkas berikut:

<code class="java">import java.io.*;
class IO {
    public static void main(String[] args) {    
       BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));    
       String userInput;    
       while ((userInput = stdIn.readLine()) != null) {
          System.out.println(userInput);
       }
    }
}</code>

Setelah dilaksanakan, kod menjana mesej ralat berikut:

----------
1. ERROR in io.java (at line 10)
    while ((userInput = stdIn.readLine()) != null) {
                        ^^^^^^^^^^^^^^^^
Unhandled exception type IOException
----------
1 problem (1 error)

Inti masalah terletak pada pengecualian tidak ditandai "IOException" yang dilemparkan apabila membaca input daripada aliran input standard menggunakan kelas BufferedReader. Untuk mengendalikan pengecualian ini dengan anggun, anda mesti menambah perisytiharan "membuang IOException" pada kaedah utama anda.

<code class="java">public static void main(String[] args) throws IOException {   </code>

Hasil pengubahsuaian ini, kaedah utama mengakui bahawa wujud kemungkinan untuk "IOException" berlaku. Ini, seterusnya, membolehkan pengkompil Java mewajibkan pengendalian pengecualian yang betul dalam kaedah.

Adalah penting untuk ambil perhatian bahawa "IOException" berada di bawah kategori pengecualian yang disemak. Tidak seperti pengecualian yang tidak disemak, pengecualian yang disemak memerlukan pengendalian eksplisit atau kemasukan pengisytiharan "lempar" dalam tandatangan kaedah. Mekanisme penguatkuasaan ini menggesa pembangun untuk menangani situasi luar biasa dengan cara terkawal, menghalang kemungkinan ralat masa jalan.

Dengan memahami sifat pengecualian yang disemak dan melaksanakan pengendalian yang betul melalui perisytiharan "lontaran", anda boleh menyelesaikan masalah "Tidak dikendalikan" dengan berkesan jenis pengecualian ralat IOException" dan pastikan pelaksanaan lancar kod Java anda.

Atas ialah kandungan terperinci Mengapakah saya mendapat ralat \'Unhandled exception type IOException\' dalam Java dan bagaimana saya boleh membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn