JavaRush /Blog Jawa /Random-JV /Terjemahan: 6 Pangecualian Jawa kang njalari wong anyar i...
profeg
tingkat

Terjemahan: 6 Pangecualian Jawa kang njalari wong anyar ing tanah Jawa.

Diterbitake ing grup

6 Pengecualian Jawa sing ngganggu para pemula Jawa.

(Original) (Aku anyar ing basa Jawa lan Inggris, mula aku bakal seneng nampa kritik lan bantuan) Loro-lorone sadurunge lan saiki, aku nemoni akeh wong anyar Jawa sing duwe masalah karo sawetara pengecualian umum sing kudu dak jelasake maneh. Aku yakin pangembang Jawa Senior liyane duwe masalah sing padha nyoba mbantu wong anyar ngatasi pengecualian kasebut. Mangkono, aku nulis artikel iki kanggo pangembanganku dhewe. Mangga bebas menehi komentar babagan artikel iki utawa tambahake pangecualian ing dhaptar ing ngisor iki.
1. NoClassDefFoundError
Iki minangka salah sawijining pangecualian, kanthi pesen kaya "Pengecualian ing utas "utama" NoClassDefFoundError" , sing paling akeh pangembang Jawa sing ditemokake ing jagad pemrograman Java. Pamula nulis program sing nampilake "Hello world!", pindhah menyang baris perintah, ketik "java ...", pencet enter lan BAM! =). Lan ngerteni carane njaluk program kanggo nyithak "Hello world!" ing monitor, njupuk sawetara wektu. NoClassDefFoundError occurs nalika Java Virtual Machine (JVM) nyoba kanggo ngakses kelas ing wektu wiwitan lan kelas ora ketemu, sanajan kelas padha ketemu ing wektu kompilasi. Paling asring, pangecualian iki kedadeyan nalika nyoba nglakokake program nggunakake printah "java" lan classpath ora disetel kanthi bener. Mangkene katrangan babagan sebab-sebab kenapa kedadeyan kasebut.
  • Kelas ora kasedhiya ing -classpath.
  • Variabel lingkungan CLASSPATH wis diganti. Sampeyan bisa mriksa ngarsane lan bener nggunakake printah Windows "set".
Solusi kanggo masalah kasebut diterangake kanthi luwih rinci ing kene.
Menapa malih, sampeyan kudu ngerti prabédan antarane variabel lingkungan CLASSPATH lan interpreter key -classpath. Profesional ora nyaranake nggunakake CLASPATH. Cara sing paling apik yaiku ngliwati kunci -classpath menyang juru basa.
2. ClassNotFoundException
ClassNotFoundException minangka pangecualian liyane sing dadi ngipi elek kanggo wong anyar nalika miwiti program. Sing nggumunake, pangembang Java rata-rata asring bingung ing antarane pengecualian ClassNotFoundException lan NoClassDefFoundError . Mangkono, prabédan ing antarane rong pangecualian iki tetep dadi salah sawijining pitakonan sing paling sering ditakoni ing wawancara kanggo posisi Junior . ClassNotFoundException occurs nalika JVM nyoba mbukak kelas tartamtu lan ora nemokake ing classpath. Salah sawijining panggonan umum sing ditemokake pangembang Java anyar kanggo pisanan yaiku nyambungake menyang database nggunakake perpustakaan JDBC. Ing kana kita bakal nyoba mbukak driver nggunakake kode kaya Class.forName("JDBCdriver"). Artikel apik babagan ClassNotFoundException kene . Nyoba mangertos konsep Java Classloaders minangka cara sing paling efektif kanggo ngatasi masalah iki. Sampeyan bisa maca carane ngatur classpath Java ing lingkungan Win / Unix . Kaya sing kasebut ing java docs , pangecualian dumadi ing kasus ing ngisor iki:
  • Sampeyan nyoba kanggo mbukak kelas nggunakake cara Class.forName lan file .class ora ana ing classpath. Iki minangka skenario sing paling umum saka telu sing kadhaptar ing kene.
  • Nalika loader kelas nyoba mbukak kelas nggunakake loadClass.
  • Nalika loader kelas nyoba mbukak kelas nggunakake findSystemClass.
3. NullPointerException
Pangecualian iki luwih gampang dimangerteni para pamula tinimbang loro sing pertama. Kajaba iku, pangecualian iki gampang dingerteni amarga nalika ana, pesen bab pangecualian nuduhake nomer baris ing program ngendi iku kedaden. Pangecualian iki dumadi nalika JVM nyoba kanggo ngakses obyek utawa nyoba kanggo nelpon cara ing obyek lan nampa null tinimbang referensi kanggo obyek. Java Doc uga nyatakake alasan ing ngisor iki:
  • Ngakses utawa ngganti cara ing obyek sing ora bener. (yaiku tinimbang referensi menyang obyek JVM dadi null)
  • Njupuk dawa array nalika ora bener. (ora diinisialisasi contone)
  • Upaya kanggo ngakses unsur array sing ora ana jinis Obyek. (yaiku nalika, tinimbang referensi obyek, unsur array ngemot null)
Cara paling gampang kanggo ngindhari pangecualian iki yaiku nggunakake mriksa non-NULL. Nanging, cepet utawa mengko, iki bakal dadi praktik pangembangan Java lan sampeyan bakal nemokake pamriksan non-NULL ing endi wae . Lan alesan utama kanggo nggunakake mriksa non-NULL iku pangembang pengin pass obyek null ing cilik saka Gagal utawa kesalahan. Nanging, iku praktik pemrograman sing apik sing kudu digunakake para programer kanggo ngasilake obyek sing kosong, tinimbang nilai null , minangka logika dhasar babagan carane program bakal tumindak yen ana kesalahan. Nanging, nggunakake praktik pemrograman iki luwih angel tinimbang sing katon.
Ana artikel apik babagan iki ing sumber kita.
4. ClassCastException
Iki minangka pangecualian liyane sing dikenal kanggo pamula, sing kedadeyan nalika nyoba nglebokake obyek menyang kelas sing dudu subkelas kasebut. Maneh, iki cukup gampang dingerteni, diidentifikasi, lan gampang didandani. Salah siji cara kanggo ngindhari pangecualian iki nalika jinis obyek ora dingerteni nalika runtime yaiku nggunakake "InstanceOf" kanggo mriksa manawa obyek kasebut minangka conto saka kelas tartamtu.
5. ArrayIndexOutOfBoundsException
Pengecualian iki cukup jelas lan kedadeyan nalika JVM nyoba ngakses unsur array kanthi indeks sing ora ana, kayata negatif (-1) utawa luwih gedhe tinimbang utawa padha karo ukuran array. Iku cukup gampang kanggo mangerteni, nemtokake lan bener . Contone, nalika nggawe daur ulang, for (i = 0; i <= cmd_stack.length; i++) System.out.println(cmd_stack[i]); ana pangecualian, amarga ing array indeks miwiti saka 0, lan cara dawa ngasilake nomer unsur, lan nomer 1 luwih saka nilai indeks pungkasan. Panggunaan sing bener for (i = 0; i < cmd_stack.length; i++) System.out.println(cmd_stack[i]);
6. IllegalArgumentException
Pangecualian iki kurang umum lan cukup gampang dingerteni, diidentifikasi, lan diatasi. Iki kedadeyan nalika JVM nyoba nelpon metode sing ora ana, utawa metode kanthi argumen sing ora bener.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION