cari

Rumah  >  Soal Jawab  >  teks badan

为什么java到处都要用到try catch?

新手学java,在什么情况下要包括try catch啊?
我理解的try catch 是处理异常。
难道java有些方法对象 本身就要配合try catch来使用的吗?

天蓬老师天蓬老师2802 hari yang lalu1813

membalas semua(18)saya akan balas

  • ringa_lee

    ringa_lee2017-04-18 10:28:06

    Sebab kembung...
    Gurau saja

    balas
    0
  • 黄舟

    黄舟2017-04-18 10:28:06

    Falsafah reka bentuk Java, Pengecualian Diperiksa. Sebaik sahaja fungsi melemparkan pengecualian bukan masa jalan, pemanggil luar mesti melakukan tangkapan cuba untuk memastikan semua pengecualian yang direka bentuk ditangkap dan dikendalikan. Tetapi terdapat potensi penyalahgunaan.

    balas
    0
  • PHPz

    PHPz2017-04-18 10:28:06

    Bolehkah anda menangkap pengecualian secara global semasa program dijalankan?

    balas
    0
  • 高洛峰

    高洛峰2017-04-18 10:28:06

    2333, pada asasnya bahasa pengaturcaraan tahap tinggi mempunyai TRY CATCH Walaupun tidak, anda masih perlu memikirkan untuk menambah pengendalian ralat untuk meningkatkan keteguhan program, jika anda dan pengguna tidak Tidak peduli tentang pengecualian sama sekali, anda tidak perlu menulisnya. Anda juga boleh menulis hanya dalam kedudukan yang lebih kritikal. Kadangkala perlu menambah pemprosesan transaksi.

    balas
    0
  • ringa_lee

    ringa_lee2017-04-18 10:28:06

    Dari perspektif semasa, cuba/tangkap agak menyusahkan, terutamanya apabila menggunakan JDBC asas (walaupun ini jarang berlaku sekarang. Apabila membuat beberapa pelarasan kecil tidak formal pada pangkalan data, ORM diperkenalkan adalah pendekatan yang kurang digalakkan) . Terdapat cuba / tangkap di mana-mana. Dan mereka semua adalah SQLException bersatu Anda perlu menyemak kod yang dikembalikan oleh lapisan asas untuk mengetahui masalahnya.

    Tetapi ini adalah ciri java yang merangkumi segala-galanya. Dalam projek yang lebih besar, selalunya akan ada situasi yang tidak terkawal, dan tidak mungkin semuanya akan berjalan seperti yang dirancang. Semuanya berjalan seperti yang anda jangkakan. Sistem yang mantap dan lengkap harus mempunyai asas untuk menangani beberapa masalah yang tidak dijangka dan mudah. Ini adalah niat asal sistem pengecualian Java. Malah, Java membenarkan definisi pengecualian lanjutan untuk kemudahan pembangunan dan penyahpepijatan.

    Sebelum kemunculan musim bunga, semasa saya membina seni bina untuk pasukan pembangunan, saya akan memperkenalkan pengecualian tersuai dalam lapisan perniagaan dan lapisan pangkalan data untuk membolehkan ahli pasukan mengembangkan diri mereka, tetapi mereka perlu berkongsi dan berkomunikasi untuk menangani kemungkinan masalah yang mungkin timbul dalam sistem perniagaan Situasi yang tidak dipertimbangkan dalam pembangunan awal. Kemudian model ini diterima baik oleh penyelenggara. Oleh kerana 80-90% daripada pengecualian yang berlaku dalam sistem berada dalam julat pengecualian tersuai kami, runtimeexception jarang berlaku. Ia sangat mudah untuk mencari masalah dan mengekalkannya.

    balas
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:28:06

    Jika tiada percubaan, pengecualian akan menyebabkan program ranap. Dan cuba boleh memastikan operasi normal program, contohnya:

    try{
    int i = 1/0;
    }catch(Exception e){
    ........
    }
    

    Dalam pengiraan, jika pembahagi adalah 0, ralat akan dilaporkan Jika tiada percubaan, program akan ranap secara langsung. Menggunakan try, anda boleh membiarkan program berjalan dan mengeluarkan sebab ralat berlaku. Cuba tangkap, digunakan bersama dengan log4j, akan sangat membantu untuk penyelenggaraan program pada masa hadapan.

    balas
    0
  • 怪我咯

    怪我咯2017-04-18 10:28:06

    问:新手学java,在什么情况下要包括try catch啊?

    Jawapan: Popularkan beberapa pengetahuan asas:

    • Prinsip dan mekanisme yang tidak normal

    Apabila pengecualian dilemparkan dalam atur cara, atur cara melompat keluar daripada kod yang menyebabkan pengecualian dalam atur cara Mesin maya Java mengesan dan mencari blok tangkapan yang sepadan dengan kata kunci cuba untuk mengendalikan pengecualian . Jika ditemui, ia akan mengambil alih kod dalam blok tangkapan, dan kemudian terus melaksanakan program Kod yang menyebabkan pengecualian dalam blok cuba tidak akan dilaksanakan semula. Jika tiada blok tangkapan ditemui untuk mengendalikan pengecualian, selepas semua kod blok akhirnya dilaksanakan dan kaedah uncaughtException bagi ThreadGroup yang menjadi milik utas semasa dipanggil, utas semasa yang menghadapi pengecualian akan ditamatkan.

    • Struktur abnormal

    Kelas Throwable ditakrifkan dalam struktur pengecualian Java, dan Exceotion dan Ralat ialah dua subkelas terbitannya. Pengecualian mewakili pengecualian yang disebabkan oleh kegagalan rangkaian, kerosakan fail, ralat peranti, input pengguna yang tidak sah, dsb. Pengecualian tersebut boleh dikendalikan melalui mekanisme penangkapan pengecualian Java. Ralat mewakili ralat dalam persekitaran masa jalan Java, seperti limpahan memori JVM, dsb.

    • Ringkasan

    Pengecualian ialah tindak balas naluri terhadap masalah program Menggunakan tangkapan cuba bermakna anda boleh mengendalikan pengecualian dalam blok kod yang sepadan dengan baik, dengan itu mengelakkan gangguan program yang tidak normal Sebaliknya, anda boleh membuang Pengecualian dan membuang pengecualian ke peringkat seterusnya .


    问:我理解的try catch 是处理异常。难道java有些方法对象 本身就要配合try catch来使用的吗?

    Jawapan: Mari sebarkan beberapa pengetahuan asas:

    • Pengkelasan tidak normal

    • Pengecualian yang boleh dikesan: Pengecualian yang boleh dikesan disahkan oleh pengkompil untuk sebarang kaedah yang diisytiharkan untuk membuang pengecualian, pengkompil akan menguatkuasakan peraturan pemprosesan atau pengisytiharan dan tidak menangkap pengecualian ini Ia gagal dan kompilasi tidak dibenarkan.

    • Pengecualian yang tidak ditanda: Pengecualian yang tidak ditanda tidak mengikut peraturan pemprosesan atau pengisytiharan. Apabila pengecualian sedemikian dibangkitkan, tiada tindakan yang sewajarnya perlu diambil, dan pengkompil tidak menyemak sama ada pengecualian tersebut telah diselesaikan.

    • Ringkasan

    Mengenai isu ini, adalah disyorkan untuk menganalisis dan memahami dengan melihat kod sumber yang berkaitan Prinsip umum ialah selagi kaedah yang anda panggil mempunyai pengecualian yang boleh dikesan, anda perlu mengendalikannya dengan satu cara. atau melontar Pengecualian, lontar pengecualian ke peringkat seterusnya. Berikut ialah beberapa contoh:

    (senario di mana try catch digunakan)

    PrintWriter pw = null;
    try {
        pw = new PrintWriter(new File(CodeUtil.invoPath, name));
        pw.write(str_invo.toString());
    } catch (FileNotFoundException e) {
        throw new RuntimeException(name+"文件未找到!");
    }

    (Lihat analisis kod sumber yang berkaitan)

    public PrintWriter(File file) throws FileNotFoundException {
        this(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file))),
             false);
    }

    (Ringkasan analisis)
    Oleh kerana pembina PrintWriter(Fail Fail) diikuti dengan lontaran FileNotFoundException, anda mesti mengendalikan pengecualian yang dilemparkan olehnya apabila anda memanggil pembina.

    balas
    0
  • 阿神

    阿神2017-04-18 10:28:06

    Bahasa umum mempunyai mekanisme pengendalian pengecualian.

    Salah satu artikel saya menyediakan pengenalan ringkas kepada mekanisme pengecualian Java, saya harap ia dapat membantu anda.

    balas
    0
  • Batalbalas