Rumah Kewangan Peribadi Pengaturcaraan Java: Apabila Kesilapan berlaku

Pengaturcaraan Java: Apabila Kesilapan berlaku

Isi kandungan:

Video: From C to Python by Ross Rheingans-Yoo 2024

Video: From C to Python by Ross Rheingans-Yoo 2024
Anonim

Kesilapan dalam aplikasi Java boleh berlaku pada pelbagai masa. Walau bagaimanapun, anda boleh mengelaskan secara meluas apabila ralat akan berlaku dalam dua kategori, pada masa dan runtime compile, seperti yang diterangkan dalam bahagian berikut.

Kesalahan masa kompilasi

Pengkompil menukarkan kod aplikasi anda ke kod byte Java. Semasa proses ini, ia memerlukan kod yang boleh dibaca manusia yang anda tulis dan mengubahnya menjadi sesuatu yang difahami oleh Java Runtime Environment (JRE).

Untuk melaksanakan proses ini, pengkompil mesti mengurai kod tersebut, yang bermaksud ia membacanya dengan cara yang secara jelas menentukan tepat apa yang anda inginkan permohonan itu, ketika anda ingin melakukannya, dan bagaimana anda mahu tugas itu selesai. Sekiranya anda melanggar peraturan untuk menulis kod yang tidak jelas, pengkompil memaparkan mesej ralat. Mesej ini sebenarnya adalah satu pengecualian.

Parsing bermaksud membaca input yang anda berikan, seperti kod dalam bentuk yang boleh dibaca manusia, dan mengubahnya menjadi sesuatu yang lain, seperti kod byte Java. Aplikasi juga boleh menghuraikan input pengguna. Sebagai contoh, pengguna boleh menaip rentetan bahawa kod permohonan anda bertukar menjadi nombor.

Jadi, parsing adalah perbuatan membaca beberapa jenis input, mentafsirkan input dengan cara tertentu, dan kemudian menghasilkan output berdasarkan input yang ditafsirkan. Parser menghasilkan ralat ketika input bukanlah yang dijangkakan.

Sebagai contoh, jika pengguna memasukkan rentetan yang mengandungi huruf C, dan anda mengharapkan rentetan yang mengandungi nombor, seperti 123, parser akan menghasilkan pengecualian mengatakan bahawa input tidak betul.

Kesalahan masa kompilasi adalah yang paling mudah dikendalikan kerana pengkompil biasanya memberitahu anda dengan tepat apa yang salah dan di mana ralat telah berlaku. Walaupun maklumat tidak tepat, pengkompil akan sekurang-kurangnya membawa anda ke kawasan yang betul kod yang patah sehingga anda dapat mencari kesalahan yang terkandung.

Untuk memastikan semua orang memahami dengan tepat bagaimana bahasa Jawa sepatutnya berfungsi, pemaju membuat spesifikasi untuknya. Spesifikasi ini merangkumi elemen bahasa dalam bahasa khas yang dipanggil Backus-Naur Form (BNF). Menggunakan BNF adalah kaedah yang sangat tepat menggambarkan bahasa supaya tidak ada risiko salah tafsir oleh sesiapa pun.

Anda boleh melihat contoh BNF untuk bahasa Jawa di Jabatan Sains Komputer - Daimi. Jangan terlalu risau tentang membaca spesifikasi ini. Kebanyakan pemaju tidak pernah belajar mentafsirkan BNF untuk bahasa yang mereka gunakan - itulah domain pemaju pengkompil.

Runtime error

Compiler Java tidak dapat menemukan kesilapan dalam kod anda. Sekiranya bentuk kod adalah betul (iaitu, anda tidak membuat sebarang kesilapan dalam menaip unsur-unsur yang membuat aplikasi itu), pengkompil tidak akan mencari ralat. Sebagai contoh, jika anda menginisialisasi nilai angka kepada 5 bukannya 4, pengkompil tidak dapat mencari ralat untuk anda kerana pengkompil tidak tahu bahawa anda benar-benar dimaksudkan untuk mengetik 4. Jenis kesalahan ini membuat

ralat runtime - kesalahan yang berlaku pada satu ketika semasa pelaksanaan aplikasi. Kesilapan semasa boleh berlaku pada pelbagai masa. Sesetengah ralat lebih cenderung berlaku pada masa tertentu. Senarai berikut memberi anda beberapa idea tentang bila ralat runtime mungkin berlaku:

Inisialisasi:

  • Apabila aplikasi bermula dahulu - sebelum ia mempersembahkan apa-apa jenis antara muka kepada pengguna atau melakukan apa-apa kerja yang berguna - fasa permulaan. Ini adalah apabila menetapkan pembolehubah kepada jenis yang tidak betul atau cuba menggunakan pemboleh ubah sebelum anda memulakannya akan mendapat perhatian. Banyak ralat berkaitan sumber juga berlaku semasa inisialisasi kerana kebanyakan aplikasi membuka sumber yang diperlukan pada masa ini. Mod pengendalian:

  • Selepas aplikasi memulakan, ia dalam mod operasi. Jika ia mempunyai antara muka pengguna, ia mula berinteraksi dengan pengguna. Ini adalah masa yang paling penting untuk input pengguna. Anda juga akan mendapati pembolehubah permulaan yang salah pada masa ini kerana pengguna (atau penerima output aplikasi, seperti sistem) akan melihat bahawa output tidak betul. Permintaan pengguna untuk sumber, seperti fail data, juga membuat ralat pada masa ini.

    Pemprosesan latar belakang:

  • Kesilapan pemprosesan latar belakang yang dihasilkan dari persekitaran (seperti hilangnya sambungan rangkaian), sumber yang hilang (seperti fail yang hilang), pemboleh ubah yang dimulakan dengan salah atau ralat dalam cara anda memberitahu aplikasi untuk melaksanakan tugas. Sesetengah tugas biasanya dilakukan di latar belakang daripada yang lain. Sebagai contoh, mencetak dokumen atau memuat turun sumber dari Internet biasanya dilakukan di latar belakang, sementara pengguna terus bekerja dengan aplikasi di latar depan.

    Shutdown:

  • Apabila pengguna (termasuk akaun sistem) memberitahu aplikasi itu tidak lagi diperlukan, permohonan itu melalui fasa penutupan. Semasa fasa penutupan ini, aplikasi menutup fail dan melakukan kerja-kerja rumah lain yang memastikan aplikasi tidak meninggalkan keadaan yang bermasalah untuk sistem pengendalian. Kesilapan yang paling biasa yang boleh berlaku semasa fasa ini tidak melepaskan sumber daya yang digunakan oleh aplikasi anda dan tidak menyimpan data ke cakera. Sudah tentu, ralat pengekodan boleh berlaku pada bila-bila masa, dan fasa operasi ini tidak terkecuali. Anda boleh memberitahu aplikasi untuk menutup lima fail apabila hanya empat daripada mereka yang benar-benar terbuka.

    JRE akan membentangkan kesilapan runtime yang mengesannya sebagai pengecualian. Walau bagaimanapun, JRE tidak akan menangkap setiap kesilapan dalam permohonan anda.Anda juga mesti melihat output aplikasi anda untuk menentukan sama ada output sepadan dengan jangkaan yang anda miliki untuk input yang diberikan.

Selain itu, penting untuk melihat keadaan mana-mana sumber yang anda gunakan untuk memastikan bahawa mereka tidak rosak dalam beberapa cara. Sebagai contoh, anda perlu memastikan bahawa apa-apa data yang anda mesti simpan dalam fail sebenarnya berakhir dalam fail apabila aplikasi anda dimatikan.

Java 8 mempunyai penekanan yang kuat terhadap keselamatan, yang bermaksud bahawa anda akan melihat lebih banyak contoh SecurityException ketika anda bekerja dengan aplikasi anda.

Melihat peningkatan pengecualian keselamatan tidak bermakna kod anda rosak atau bahawa Java 8 dipenuhi dengan pepijat - ini bermakna bahawa Java 8 secara automatik mengesan dan memberitahu anda tentang isu-isu yang boleh menyebabkan masalah keselamatan apabila orang menggunakan aplikasi anda.

Dokumentasi SecurityException muncul di Java. bersih. Sudah tentu, anda akan mahu mengetahui apa yang berlaku.

Pengaturcaraan Java: Apabila Kesilapan berlaku

Pilihan Editor

Spotify Unlimited - dummies

Spotify Unlimited - dummies

Spotify Unlimited adalah cara yang cemerlang untuk mendengar semua muzik yang anda inginkan tanpa batas apa pun. Ia seperti orang yang istimewa yang membeli makanan dan minum sepanjang malam supaya anda tidak perlu risau mengenai bil tersebut. Ia seperti dapat tidur pada hujung minggu tanpa bimbang tentang kerja atau sama ada ...

Genre Spotify - dummies

Genre Spotify - dummies

Sama ada rock, tekno, pop, jazz, industri, indie pop, rakyat , klasik, logam berat, waltz, atau apa sahaja yang menarik minat anda, Spotify mempunyai genre, atau jenis muzik, dilindungi. Anda boleh mencari genre biasa dari dalam Spotify. Walaupun Spotify telah mengeluarkan senarai hampir 1,000 genre yang diketahui, tidak semua mereka akan menyampaikan ...

Mengemas kini Aplikasi Mudah Alih Spotify - dummies

Mengemas kini Aplikasi Mudah Alih Spotify - dummies

Apl mudah alih dikemas kini dengan keteraturan tanpa henti. Ia seolah-olah seperti ada setiap hari. Tetapi aplikasi sentiasa kerja sedang berjalan, dan Spotify adalah satu syarikat yang sentiasa mencari untuk berkembang dan meningkatkan produknya. Aplikasi juga dikemas kini untuk memperbaiki pepijat kecil dan kadang-kadang lebih serius. Tidak lama selepas masa lama ditunggu-tunggu ...

Pilihan Editor

Cara Menggunakan Fail dan Alat Capaian Pantas dalam Access 2016 - dummies

Cara Menggunakan Fail dan Alat Capaian Pantas dalam Access 2016 - dummies

Jika anda 'semula segar daripada menggunakan versi sebelum Office 2007 (XP dan sebelumnya), anda akan lega untuk melihat tab Fail dalam Akses 2016. Pengguna Office 2007 kehilangan perkataan biasa dalam antara muka versi itu, kemudian digantikan oleh butang Office , dengan tiada perkataan "Fail" yang menghiburkan. Fail perkataan datang kembali pada tahun 2010, ...

Cara menjalankan Wizard Pertanyaan di Access 2016 - dummies

Cara menjalankan Wizard Pertanyaan di Access 2016 - dummies

Dengan Access 'Query Wizard, maklumat jadual dan medan, dan Wizard Kueri Mudah menjaga hal-hal lain. Begini cara anda membuat pertanyaan: Di atas sekeping kertas, letakkan data yang anda inginkan dalam hasil pertanyaan anda. Permintaan mengembalikan lembaran data (tajuk lajur yang diikuti oleh baris data), jadi buat ...

Cara menjalankan Wizard Pertanyaan di Access 2013 - dummies

Cara menjalankan Wizard Pertanyaan di Access 2013 - dummies

Dengan Access 'Query Wizard, maklumat jadual dan medan, dan Wizard Kueri Mudah menjaga hal-hal lain. Berikut adalah cara anda membuat pertanyaan:

Pilihan Editor

10 Avuncular Cadangan untuk Word 2016 - dummies

10 Avuncular Cadangan untuk Word 2016 - dummies

Anda mungkin akan menghabiskan banyak masa dengan Word 2016. Jadi , mengapa tidak menggunakan semua helah perdagangan? Berikut adalah sepuluh perkara nasihat pemproses kata yang mesra dan berguna. Simpan kertas pencetak, toner, dan bekalan yang berguna Pejabat elektronik adalah mitos. Bersama dengan pemproses perkataan anda, anda memerlukan bekalan pejabat dunia sebenar. ...

Secara automatik Isi Kata dengan Word 2003 AutoText - dummies

Secara automatik Isi Kata dengan Word 2003 AutoText - dummies

Ciri AutoTeks dalam Word 2003 secara automatik selesai menulis perkataan bahawa anda telah mula mengeja. Katakanlah bahawa anda sedang menulis Novel Besar Amerika Syarikat yang akan memaparkan Christopher sebagai wira anda. Daripada mengeja Christopher berkali-kali, anda hanya menaip beberapa huruf nama dan kotak pop timbul. Ia mengatakan: Christopher: (Tekan ENTER untuk Masukkan). ...

Dasar File Menu Word 2013 - dummies

Dasar File Menu Word 2013 - dummies

Di Word 2013, mengklik tab File membuka menu Fail, dikenali sebagai pandangan Backstage. Paparan belakang pentas menyediakan akses kepada arahan yang ada kaitan dengan fail data yang anda bekerjasama - perkara seperti menyimpan, membuka, mencetak, menghantar, dan menyemak sifatnya. Untuk meninggalkan pandangan Backstage, klik beberapa tab lain atau tekan ...