Jadual Kandungan
Hendaklah membuang pengecualian atau subjenis yang sama
Contoh
Output
tidak boleh membuang pengecualian superclass
Ralat masa kompilasi
Tidak membuang sebarang pengecualian
output
Rumah Java javaTutorial Apakah peraturan untuk liputan kaedah dan pengendalian pengecualian di Jawa?

Apakah peraturan untuk liputan kaedah dan pengendalian pengecualian di Jawa?

Sep 06, 2023 pm 06:29 PM
pengendalian pengecualian harta pusaka Liputan kaedah: mengatasi mengatasi kaedah Pengendalian pengecualian: pengecualian blok cuba-tangkap

Apakah peraturan untuk liputan kaedah dan pengendalian pengecualian di Jawa?

Apabila mengatasi kaedah superclass, anda perlu mengikut peraturan tertentu jika kaedah itu memberikan pengecualian.

Hendaklah membuang pengecualian atau subjenis yang sama

Jika kaedah superclass melontar pengecualian tertentu, kaedah dalam subkelas harus membuang pengecualian yang sama atau subjenisnya.

Contoh

Dalam contoh berikut, kaedah readFile() superclass membuang IOException, manakala kaedah readFile() subclass membuang FileNotFoundException.

Memandangkan pengecualian FileNotFoundException ialah subjenis IOException, atur cara boleh menyusun dan melaksanakan tanpa sebarang ralat.

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;
abstract class Super {
   public String readFile(String path) throws IOException {
      throw new IOException();
   }
}
public class ExceptionsExample extends Super {
   @Override
   public String readFile(String path) throws FileNotFoundException {
      Scanner sc = new Scanner(new File("E://test//sample.txt"));
      String input;
      StringBuffer sb = new StringBuffer();
      while (sc.hasNextLine()) {
         input = sc.nextLine();
         sb.append(" "+input);
      }
      return sb.toString();
   }
   public static void main(String args[]) {
      String path = "E://test//sample.txt";
      ExceptionsExample obj = new ExceptionsExample();
      try {
         System.out.println(obj.readFile(path));
      }catch(FileNotFoundException e) {
         System.out.println("Make sure the specified file exists");
      }
   }
}
Salin selepas log masuk

Output

Tutorials Point is an E-learning company that set out on its journey to provide knowledge to that class of readers that responds better to online content. With Tutorials Point, you can learn at your own pace, in your own space. After a successful journey of providing the best learning content at tutorialspoint.com, we created our subscription based premium product called Tutorix to provide Simply Easy Learning in the best personalized way for K-12 students, and aspirants of competitive exams like IIT/JEE and NEET.
Salin selepas log masuk

Contoh

Begitu juga, jika subkelas membuang pengecualian yang sama seperti superclass, atur cara akan menyusun dan melaksanakan dengan jayanya.

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;
abstract class Super {
   public void sampleMethod()throws FileNotFoundException {
      System.out.println("Method of superclass");
   }
}
public class ExceptionsExample extends Super {
   public void sampleMethod()throws FileNotFoundException {
      System.out.println("Method of Subclass");
   }
   public static void main(String args[]) {
      ExceptionsExample obj = new ExceptionsExample();
      obj.sampleMethod();
   }
}
Salin selepas log masuk

Output

Method of Subclass
Salin selepas log masuk
Salin selepas log masuk

tidak boleh membuang pengecualian superclass

Jika kaedah superclass melontar pengecualian, kaedah dalam subkelas tidak seharusnya membuang superclassnya.

Contoh

Dalam contoh berikut, kaedah readFile() superclass membuang pengecualian FileNotFoundException, manakala kaedah readFile() subkelas membuang pengecualian IOException, iaitu superclass FileNotFoundException.

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;
abstract class Super {
   public String readFile(String path)throws FileNotFoundException {
      throw new FileNotFoundException();
   }
}
public class ExceptionsExample extends Super {
   @Override
   public String readFile(String path)throws IOException {
      //method body ......
   }
}
Salin selepas log masuk

Ralat masa kompilasi

Apabila disusun, atur cara di atas memberikan output berikut -

ExceptionsExample.java:13: error: readFile(String) in ExceptionsExample cannot override readFile(String) in Sup
   public String readFile(String path)throws IOException {
                 ^
   overridden method does not throw IOException
1 error
Salin selepas log masuk

Tidak membuang sebarang pengecualian

Jika kaedah kelas induk membuang beberapa pengecualian, anda boleh mengatasinya tanpa membuang sebarang pengecualian .

Contoh

Dalam contoh di bawah, kaedah sampleMethod() kelas induk membuang pengecualian FileNotFoundException, manakala kaedah sampleMethod() subkelas tidak membuang sebarang pengecualian sama sekali. Walau bagaimanapun, program menyusun dan melaksanakan tanpa sebarang ralat.

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;
abstract class Super {
   public void sampleMethod()throws FileNotFoundException {
      System.out.println("Method of superclass");
   }
}
public class ExceptionsExample extends Super {
   public void sampleMethod() {
      System.out.println("Method of Subclass");
   }
   public static void main(String args[]) {
      ExceptionsExample obj = new ExceptionsExample();
      obj.sampleMethod();
   }
}
Salin selepas log masuk

output

Method of Subclass
Salin selepas log masuk
Salin selepas log masuk

Atas ialah kandungan terperinci Apakah peraturan untuk liputan kaedah dan pengendalian pengecualian di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penyelesaian untuk menyelesaikan pengecualian penegasan Java (AssertionError) Penyelesaian untuk menyelesaikan pengecualian penegasan Java (AssertionError) Aug 25, 2023 pm 03:06 PM

Penyelesaian untuk Menyelesaikan Pengecualian Penegasan Java (AssertionError) Dalam pembangunan Java, penegasan ialah alat penyahpepijatan yang biasa digunakan. Dengan menggunakan penegasan, kita boleh memasukkan beberapa syarat ke dalam kod untuk memastikan program memenuhi syarat yang dijangkakan apabila ia dijalankan. Walau bagaimanapun, kadangkala kita mungkin menghadapi pengecualian penegasan Java (AssertionError), yang bermaksud bahawa syarat penegasan tidak dipenuhi, menyebabkan program membuang pengecualian. Pengecualian penegasan biasanya berlaku kerana andaian tentang kod semasa reka bentuk adalah salah atau

Bagaimana untuk menyelesaikan masalah perhubungan hierarki kod dalam pembangunan C++ Bagaimana untuk menyelesaikan masalah perhubungan hierarki kod dalam pembangunan C++ Aug 22, 2023 am 11:22 AM

Bagaimana untuk menyelesaikan masalah perhubungan hierarki kod dalam pembangunan C++ Apabila membangunkan program C++ yang kompleks, masalah biasa ialah pengurusan perhubungan hierarki kod. Hierarki yang salah boleh menyebabkan kod sukar dibaca, diselenggara dan dilanjutkan. Untuk menyelesaikan masalah ini, kita boleh menggunakan strategi berikut. Pertama, kita boleh menggunakan struktur direktori yang sesuai untuk menyusun fail kod. Struktur direktori yang baik boleh menyusun fail kod dengan lebih teratur, memudahkan kita mencari atau mengubah suai kod berkaitan dengan cepat semasa proses pembangunan. Secara amnya, adalah disyorkan untuk

Penyelesaian kepada masalah penggunaan semula kod biasa dalam C++ Penyelesaian kepada masalah penggunaan semula kod biasa dalam C++ Oct 09, 2023 pm 01:50 PM

Penyelesaian kepada masalah penggunaan semula kod biasa dalam C++ Dalam pengaturcaraan C++, penggunaan semula kod ialah teknologi penting yang boleh meningkatkan kecekapan pembangunan dan kebolehselenggaraan kod. Walau bagaimanapun, kami sering menghadapi beberapa masalah penggunaan semula kod biasa, seperti serpihan kod berulang, perhubungan warisan kompleks, dsb. Artikel ini akan memperkenalkan beberapa kaedah biasa untuk menyelesaikan masalah ini dan memberikan contoh kod khusus. Enkapsulasi fungsi Enkapsulasi fungsi ialah kaedah penggunaan semula kod biasa Dengan merangkum sekeping kod ke dalam fungsi, ia boleh dipanggil beberapa kali di tempat lain untuk mengelakkan menulis kod yang sama berulang kali.

Kelas abstrak di Jawa Kelas abstrak di Jawa Sep 22, 2023 am 11:53 AM

Kelas yang mengandungi kata kunci abstrak dalam pengisytiharannya dipanggil kelas abstrak. Kelas abstrak mungkin atau mungkin tidak mengandungi kaedah abstrak, iaitu kaedah tanpa badan (publicvoidget(); Walau bagaimanapun, jika kelas mempunyai sekurang-kurangnya satu kaedah abstrak, kelas mesti diisytiharkan abstrak. Jika kelas diisytiharkan abstrak, ia tidak boleh dibuat instantiated. Untuk menggunakan kelas abstrak, anda mesti mewarisinya daripada kelas lain dan menyediakan pelaksanaan kaedah abstrak di dalamnya. Jika anda mewarisi daripada kelas abstrak, anda menyediakan pelaksanaan untuk semua kaedah abstrak di dalamnya. Contoh Bahagian ini memberikan anda contoh kelas abstrak. Untuk membuat kelas abstrak, hanya gunakan kata kunci abstrak sebelum kata kunci kelas dalam pengisytiharan kelas. Nama fail : Emplo

Bagaimana untuk mengendalikan ralat konkurensi dalam PHP? Bagaimana untuk mengendalikan ralat konkurensi dalam PHP? Dec 18, 2023 am 08:24 AM

Bagaimana untuk mengendalikan ralat konkurensi dalam PHP? Apabila membangunkan aplikasi web, kami sering menghadapi masalah dengan ralat konkurensi. Ralat konkurensi merujuk kepada masalah yang mungkin berlaku apabila berbilang pengguna mengakses sekeping kod yang sama pada masa yang sama, seperti kebuntuan pangkalan data, persaingan sumber, dsb. Untuk memastikan ketepatan dan prestasi kod, kami perlu mengambil beberapa langkah untuk menangani ralat serentak. Berikut ialah beberapa cara untuk mengendalikan ralat konkurensi, termasuk contoh kod tertentu. Kod contoh khusus untuk menggunakan transaksi pangkalan data: cuba{$pdo->beginTran

Pengendalian pengecualian di Golang Pengendalian pengecualian di Golang Jul 24, 2023 pm 03:20 PM

Golang mempunyai banyak kelebihan, yang telah disebut dalam artikel sebelum ini, tetapi terdapat juga banyak kekurangan yang Gopher kritik, terutamanya pengendalian ralat. Sebelum bercakap tentang ralat dan pengecualian, mari kita bincangkan tentang dua konsep: Pengendalian ralat: Ralat adalah sebahagian daripada perniagaan dan boleh diramalkan. Pengendalian pengecualian: bukan sebahagian daripada perniagaan, di luar jangkaan.

Bagaimana untuk melakukan pengaturcaraan berorientasikan objek dalam C++? Bagaimana untuk melakukan pengaturcaraan berorientasikan objek dalam C++? Aug 27, 2023 am 08:34 AM

Bagaimana untuk melakukan pengaturcaraan berorientasikan objek dalam C++? Pengaturcaraan Berorientasikan Objek (OOP) ialah paradigma pembangunan perisian yang sangat biasa dan penting. C++ ialah bahasa pengaturcaraan berbilang paradigma yang merangkumi sokongan untuk pengaturcaraan berorientasikan objek. Dalam C++, melalui konsep kelas dan objek, kita boleh melaksanakan pengaturcaraan berorientasikan objek dengan mudah. Pertama, kita perlu menentukan kelas. Kelas adalah adat

Bagaimana untuk menyelesaikan masalah keselamatan yang dihadapi di Java Bagaimana untuk menyelesaikan masalah keselamatan yang dihadapi di Java Jul 01, 2023 am 11:13 AM

Bagaimana untuk menyelesaikan masalah keselamatan yang dihadapi dalam Java Pengenalan: Dengan populariti dan perkembangan Internet, Java telah menjadi salah satu bahasa pembangunan program yang paling biasa digunakan. Walau bagaimanapun, disebabkan keterbukaan dan popularitinya, program Java sering diserang oleh penggodam. Artikel ini akan memperkenalkan beberapa isu keselamatan Java biasa dan meneroka cara menyelesaikannya untuk melindungi aplikasi kami daripada serangan. Pengenalan: Dalam pembangunan Java, isu keselamatan terutamanya termasuk kebocoran data, pengesahan dan kebenaran, pengendalian pengecualian dan suntikan kod. di bawah, i

See all articles