Komputer, Programming
Jawa: seng lan jawab sing
Sembarang program operate stably mung yen kode sumber wis debugged, lan ora ana kahanan sing bisa nimbulaké kahanan unforeseen. Proses keno bisa gagal wis digawa metu ing tataran program. Kanggo nindakake iki, pangembang njupuk menyang akun kabeh kasil samesthine lan usaha kanggo matesi efek saka kesalahan supaya ora bisa ngganggu operasi saka program, utawa mimpin kanggo runtuh.
Nalika sampeyan bisa uga kudu jawab istiméwa
Ing Jawa, pangecualian bisa disebabake dening input pengguna salah, ora perlu kanggo sumber utawa program jaringan disconnection dadakan. Kanggo nggunakake nyaman digawe dening pangembang aplikasi, sampeyan kudu ngontrol dumadiné kahanan darurat. Konsumen ora kudu ngenteni metu aplikasi, ilang data minangka asil pangecualian unhandled, utawa mung bagéyan saka pesen katon nyatakake yen soko tindak salah.
Penanganan seng Jawa
Apa kanggo nimbang? Ing basa Jawa wis dibangun ing fungsi istiméwa jawab dhewe. Mesthi, persentasi akeh saka kesalahan disusul dening tataran kompilasi liyane, sistem otomatis bakal ngabari sing nggunakake iku ora ana maneh bisa. Nanging ana jenis iki istiméwa sing ana ing durasi. Pangembang kudu bisa kanggo antisipasi lan kanggo desain kode supaya ora njalari kesalahan, lan ditangani ing cara khusus lan dipasrahké kontrol kanggo cabang liyane.
Ing Jawa, iki dileksanakake dening compiler kanggo nyekel pangecualian, supaya masalah khas sing dikenal lan duwe pola ngleksanani standar.
exclusions khas
Conto gampang, sing bisa njaluk pangecualian - divisi iki. Senadyan sawijining gamblang, ing syarat-syarat, minangka divider, uga nul, kang bakal kasil lan kesalahan. Inggih, yen bisa kanggo mrédhiksi emergence saka sasi lan nyegah. Nanging pilihan ora tansah kasedhiya, supaya keno istiméwa kudu diatur langsung ing acara "dibagi nol".
Mekanisme Jawa kanggo nyegat kesalahan Processing katon kaya iki:
- numpuk barang istiméwa digawe, uga liyane;
- Course alam saka program punika diselani;
- mekanisme khusus wis nyoba golek cara alternatif kanggo terus kode;
- Golek execution aman saka program ing prosesor, karya utawa dibalèkaké, utawa bakal kelakon jaminan istiméwa ing cara khusus.
Conto gampang nggawe kesalahan bisa katon kaya iki:
yen (a null ==)
uncalan NullPointerException anyar ();
Kene, variabel sing wis dicenthang ing initialization, IE, ora apa referensi kanggo barang null. Yen kahanan iki wis wungu lan kudu jawab khusus, pangecualian wis di buwang dening uncalan NullPointerException anyar ().
Sawetara katrangan bab keywords
Nalika dealing with seng asring perlu nggunakake Jawa keyword kanggo deleng tumindak tartamtu. Iki basa limang program sing:
- Coba. keyword iki wis ketemu, lan tegese transisi menyang bagean saka kode sing bisa uncalan pangecualian. Block penyonggo winates {}.
- Nyekel. Iku intercepts jinis istiméwa dikarepake lan nangani iku jumbuh.
- Akhire. keyword Iki pilihan lan digunakake kanggo nindakake Piece tartamtu saka kode, kang dibutuhake tho, malah yen ora ana sing istiméwa ora kejiret. Added langsung sawisé pemblokiran nyoba.
- Uncalan - ngijini sampeyan nggawe seng Jawa saka ngendi wae.
- Mbalang - tembung kunci sing diseleh ing teken cara. Iku tegese kode ing ngisor iki bisa uncalan pangecualian saka jinis iki Jawa. tandha serves minangka sinyal kanggo gawe sing kudu digawe ing atine - cara ora bisa kaya samesthine saka wong.
Keno karo cobi
Release kanggo seng Jawa, alamiah nompo sing bakal ditangani ing cara khusus. Cara sing paling trep kanggo nindakaken, yen bagean kode wis fenced mati ing pemblokiran. Kang bisa ngemot pangecualian. Nalika mbukak kode iki, mesin virtual bakal nemokake kahanan sing ora dikarepke, ngerti sing ana pemblokiran kritis lan pindhah ngontrol kanggo stasiun karo Processing.
Kode Jawa wis kebungkus ing blok nyoba khusus, ing kang uga pangecualian. Mangkono, wong diselehake sawetara kahanan unforeseen sing bakal kejiret ing panggonan sing padha, ora kode raspolzayas.
Kode paling khas menyang unit Processing yakuwi:
nyoba {
// Punika sawetara kode sing bisa generate pangecualian
} Nyekel (Tip_isklyucheniya_1 identifikator_1) {
// Ing kono iku jawab istiméwa, miturut jinis lan kahanan;
} Nyekel (Tip_isklyucheniya_2 identifikator_2) {
// Ing kono iku jawab istiméwa, miturut jinis lan kahanan;
}
Keyword nyekel laporan kode sing, lan cepet kanggo pangecualian, kanggo bisa dianggep minangka diterangake ing ngisor iki, kasedhiya yen tundhuk karo jenisé. pengenal bisa digunakake ing proses pemblokiran kode minangka bantahan.
Akhire
Minangka dadi cetha saka bab sadurunge, nyekel pamblokiran nyekel seng lan proses mau. Nanging kerep banget kahanan mengkene ngendi kudu mbukak sawetara kode, preduli saka apa padha kejiret kesalahane. Kanggo iki ana tembung pungkasanipun. Kang digunakake kanggo nambah angka saka macem-macem counters, nutup file utawa sambungan jaringan.
plot punika dados saperangan pamblokiran nyekel nemokke cara nyekel seng. Contone, kode sing ing nyoba njedulake kahanan sing ora dikarepke kayata Dingin. Banjur, console bakal katampil expression «Caught kadhemen!» Lan «Apa sing soko surak babagan?». Sing, akhire pemblokiran wis kaleksanan ing kasus.
Ing kasunyatan, cara supaya njalari pungkasanipun ana. Wis nyambung karo completion saka mesin virtual. Golek carane kanggo ngleksanakake iku, iku bisa ing Internet mbukak spasi.
keyword Throw
Throw ngasilake pangecualian. ukara inggih punika minangka nderek:
uncalan NewException anyar ();
Ana nggawe istiméwa anyar kanggo jinis NewException (). Minangka jinis bisa digunakake wis klebu ing kelas perpustakaan Jawa standar lan sadurunge ditetepake dening developer produksi dhewe.
desain iki bagéyan saka gambaran saka cara sembarang, kang telpon banjur kudu kelakon ing pemblokiran nyoba, supaya bisa kanggo nyegat iku.
Keyword mbalang
Apa yen ing proses pembangunan kahanan ngendi cara bisa uncalan pangecualian, nanging ora bisa nangani mlaku. Kanggo iki pungkasan, ing teken cara nemtokaken tembung mbalang lan jinis bisa seng.
label iki jenis Indikator kanggo gawe klien sing cara sing ora bisa kanggo nangani istiméwa padha sing. Kajaba iku, manawa jinis kesalahan wis dicenthang, banjur compiler bakal meksa tegas takon iku.
Coba sumber
Ing Jawa versi 7 gawe wis klebu inovasi utama, minangka pemblokiran perawatan nyoba karo sumber daya.
Kathah objèk sing digawe ing Jawa, sawise nggunakake kudu mati kanggo ngreksa sumber. Sadurunge iku kanggo njupuk iki menyang akun lan mungkasi kedadean iki kanthi manual. Saiki, Nanging, padha muncul antarmuka AutoClosable. Nanging kanggo mbantu otomatis nutup obyek wis digunakake diselehake ing blok nyoba. Liwat pendekatan iku wis dadi luwih trep kanggo nulis kode ing readability sawijining tambah Ngartekno.
kelas dhewe seng Jawa
Pencipta saka basa program kasebut njupuk menyang akun akeh aspèk jinis desain saka kahanan darurat. Nanging, kabeh opsi kanggo nyegah kasil acara ora bisa, supaya ing Jawa dipun ginakaken kemampuan kanggo netepake seng dhewe, iku cocok kanggo kabutuhan kode tartamtu.
Cara paling prasaja kanggo nggawe - kanggo oleh warisan saka paling cocok kanggo babak obyek.
Ana kedaden kanggo oleh warisan saka Pengecualian, kelas sing digunakake kanggo netepake seng dhewe. Ing MyException wis loro konstruktorkang - gawan, kaloro - karo pitakonan jinis msg String.
Banjur, ing cara f FullConstructors kelas umum dipun ginakaken, kang ngandhut teken mbalang MyException. keyword Iki tegese f bisa uncalan kaya Jawa MyException istiméwa. Luwih, ing awak cara diprodhuksi Alexa teks output menyang console dhewe lan generasi MyException nyata, dening uncalan.
Cara liya rada beda saka siji nalika nggawe pangecualian, iku wis liwati parameter senar, kang bakal sing dibayangke ing console ing keno. Ing utama iku cetha sing f () lan g () diselehake ing pamriksa nyoba lan nyekel kunci diatur kanggo dijupuk MyException. Asil Processing kanggo nampilake pesen kesalahan console:
Mangkono iku teka kanggo nambah seng Jawa, dening tangan dhewe.
seng Arsitektur
Minangka karo kabeh obyek ing Jawa, seng uga marisi lan duwe struktur hirarkis. Unsur ROOT kabeh kasalahan buwang Programming iki kelas java.lang.Throwable. Diturunake marang rong jinis - kesalahan lan Pengecualian.
Error - sinyal kesalahan kritis lan seng Jawa dicenthang. Interception lan Processing data kuwi ing paling kasus ana ing tataran desain lan ora mbetahaken ngenalke ing kode aplikasi final.
kelas paling umum digunakake kanggo nggawe lan nganalisa seng iku Pengecualian. Kang, ing siji, wis dipérang dadi sawetara cabang, kalebu RuntimeException. Miturut RuntimeException seng dudu durasi, sing, kedadean ing program iki. Kabeh kelas asalé saka iku unverifiable.
Asring ana seng
Ing seng Jawa, dhaptar kang presented ngisor iki, sing dipigunakaké paling asring, dadi sampeyan kudu njlèntrèhaké saben wong ing rinci:
- ArithmeticException. Iki kalebu kasalahan gadhah operasi aritmetika. Paling glaring conto - divisi nol.
- ArrayIndexOutOfBoundsException - mréntahaké kanggo nomer unsur Uploaded sing ngluwihi total sawijining dawa.
- ArrayStoreException - nyoba kanggo nemtokake jinis unsur kompatibel saka Uploaded ing.
- ClassCastException - upaya kanggo nggawa salah siji jinis liyane.
- IllegalArgumentException - nggunakake pitakonan salah ing cara telpon.
- NegativeArraySizeException - pangecualian nalika nggawe Uploaded ukuran negatif.
- NullPointerException - nyalahi panggunaan saka referensi kanggo null.
- NumberFormatException - occurs nalika konversi senar salah ongko.
- UnsupportedOperationException - operasi ora didhukung.
Iki conto makili jinis seng Jawa dicenthang. Nanging supaya katon dicenthang:
- ClassNotFoundException - Kelas ora ketemu.
- IllegalAcccessException - matesi akses kanggo kelas.
- InterruptedException - gangguan saka aliran.
- NoSuchFieldException - ana lapangan required.
Interpretasi saka seng
Ngandika saka seng seneng pinanggih kudu nyatet sing interpretasi ing rancangan, bisa wikan salah. Sabanjure iki dhaftar singkat penjelasan ing liyane rinci, ngendi ana uga kahanan sing ora dikarepke.
NullPointerException. cilik banget pisanan nalika ana pangecualian, iku kanggo mréntahaké kanggo referensi kanggo obyek sing padha kanggo null. Uga ngluwihi kanggo cara nul kelas Kayata. NullPointerException bisa di buwang ing cilik saka nggayuh lan dawa Uploaded null witjaksono. Kanggo supaya kahanan kuwi periodik bakal mriksa Camping ing null ing.
ArrayIndexOutOfBoundsException. Sembarang program ora bisa ana tanpa nggunakake susunan. Patut, Kerep warga bisa nguripake lan kesalahan. Istiméwa occurs nalika pangembang nyoba kanggo ngakses unsur Uploaded sing ora ana ing dhaftar indeks. Contone, ing Nilai dijaluk ndhuwur utawa ngisor nul dawa. Asring banget iku asil saka kasunyatan sing ing Uploaded wiwit kanthi skor nul.
temonan
Penanganan seng Jawa - lingkungan alat kuasa, sing akeh gampang karya Programmer lan ngidini wong kanggo nggawe resik lan sepi kasalahan kode. On aplikasi fungsi carane Gamelan lan stabil gumantung ing status lan ajining diri saka pangembang.
Mesthi, ing liyane utawa kurang program prasaja kanggo nglacak kahanan normal akeh luwih gampang. Nanging ing komplek otomatis gedhe kanggo sawetara atus ewu garis iku bisa mung minangka asil saka testing long-term lan debugging.
Kanggo kesalahan istiméwa Jawa saka kang njedhul ing sawetara aplikasi, sawetara perusahaan kurban ganjaran nalika padha golek pecandu. Utamané ngormati wong sing nimbulaké nglanggar lunak keamanan privasi.
Similar articles
Trending Now