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

Cara Buat Outlet untuk Pengawal Peta di Apl iOS anda - dummies

Cara Buat Outlet untuk Pengawal Peta di Apl iOS anda - dummies

Jika anda mahu menggunakan MapController untuk apl iOS anda, anda memerlukan sebuah saluran keluar. Dengan Pemilih peta anda dijaga, tiba waktunya untuk mencipta saluran supaya MapController mempunyai akses ke paparan Peta untuk memusatkan peta dan mempunyai paparan anotasi. Ikuti langkah berikut:

Bagaimana Membuat Seni Bina Aplikasi iOS - manisan

Bagaimana Membuat Seni Bina Aplikasi iOS - manisan

Senibina aplikasi adalah di mana anda akan bermula dengan pembangunan aplikasi iOS anda. Pada tahap asas, kebanyakan apl terdiri daripada komponen asas yang sama. Kebanyakan aplikasi terdiri daripada yang berikut: Model: Objek model merangkumi logik dan kandungan (data) aplikasi. Views: Kandungan data tidak berguna jika pengguna anda ...

Protein Diet Paleo dan Mengapa Haiwan Matter - manik

Protein Diet Paleo dan Mengapa Haiwan Matter - manik

Manusia, manusia gua dan manusia moden, adalah omnivora . Gaya hidup Paleo membina warisan makan daging. Ahli antropologi bersetuju bahawa nenek moyang kita yang terdahulu adalah pemakan daging, dan saintis menganggarkan bahawa gen kita adalah 99. 9 peratus sama dengan mereka pada masa itu. Daging menyediakan kita dengan protein, asid lemak penting, dan vitamin - sama seperti ...

Pilihan Editor

Bersukacita dengan Perspektif Hak - monyet

Bersukacita dengan Perspektif Hak - monyet

Tidak seperti binatang lain, mengenai pilihan! Anda boleh memilih untuk berbahagia. Anda boleh memilih untuk melihat kehidupan sebagai kaca separuh penuh (optimistik) atau kaca setengah kosong (pesimis). Semuanya datang kepada sama ada anda menentukan masalah sebagai cabaran atau krisis. Mempunyai perspektif yang betul adalah ...

Kebahagiaan: Tahu Kapan Rencana dan Kapan Bukan Untuk - patung

Kebahagiaan: Tahu Kapan Rencana dan Kapan Bukan Untuk - patung

Akhir-akhir ini, manusia memerlukan rancangan untuk semuanya. Adakah rancangan ini menjadikan anda lebih bahagia? Lebih kurang dan lebih sedikit orang boleh melalui hari tanpa BlackBerry. Ibu bapa merancang untuk pendidikan kolej anak-anak mereka apabila anak-anak berada di tadika. Ada perancang persaraan, perancang perjalanan, perancang perkahwinan, dan bahkan ...

Memutuskan apa jenis orangtua yang anda inginkan untuk mencapai kebahagiaan

Memutuskan apa jenis orangtua yang anda inginkan untuk mencapai kebahagiaan

Bagaimana membesarkan anak-anak anda tidak hanya menjejaskan betapa gembiranya mereka; ia memberi kesan kepada bagaimana mereka melakukan persembahan di sekolah, sama ada mereka mengambil merokok, bagaimana mungkin mereka akan mengalami kemurungan, dan sama ada mereka terlibat dalam tingkah laku seksual yang berisiko. Menurut ahli psikologi yang mengkaji hal semacam ini, terdapat empat gaya utama ...

Pilihan Editor

Rakaman Excel Macros dengan Rujukan Mutlak - dummies

Rakaman Excel Macros dengan Rujukan Mutlak - dummies

Mod rakaman lalai excel adalah rujukan mutlak. Apabila rujukan sel dalam formula adalah rujukan mutlak, ia tidak menyesuaikan secara automatik apabila formula disisipkan ke lokasi baru. Cara terbaik untuk memahami bagaimana konsep ini digunakan untuk makro adalah mencuba. Catat makro yang mengira baris ...

Merujuk kepada Nilai atau Rumusan dalam Sel Lain dalam Excel 2007 Formula - dummies

Merujuk kepada Nilai atau Rumusan dalam Sel Lain dalam Excel 2007 Formula - dummies

Menghubungkan formula adalah formula dalam Excel 2007 yang merujuk lokasi dalam lembaran kerja yang sama, buku kerja sama, atau bahkan buku kerja yang berbeza. Apabila anda mencipta formula pautan, ia membawa formula rumit atau asal ke lokasi baru supaya hasil dalam formula pengaudan tetap terikat secara dinamik kepada asal. Jika ...

Rakaman Excel Macros dengan Rujukan Relatif - dummies

Rakaman Excel Macros dengan Rujukan Relatif - dummies

Rujukan relatif dalam makro Excel bermakna relatif kepada sel yang sedang aktif . Oleh itu, berhati-hati dengan pilihan sel aktif anda - kedua-duanya apabila anda merakam rujukan makro relatif dan apabila anda menjalankannya. Pertama, buka Sample File. xlsx boleh didapati dalam talian. Kemudian, gunakan langkah-langkah berikut untuk merakam makro rujukan relatif: Pada ...