Exception Sussi
SAP Exception, Assertion dan Debugging
Exception Kondisi tidak wajar saat eksekusi suatu perintah. Kondisi abnormal yang muncul di saat jalan
Bagaimana eksepsi bisa terjadi? checked exception. aplikasi tertulis dengan baik, tetapi ada eksepsi yang harus diantisipasi error. eksepsi karena faktor external yang tidak dapat diantisipasi runtime exception. Eksepsi karena faktor internal aplikasi yang tidak dapat diantisipasi
Bagaimana itu bisa terjadi? Kesalahan Coding Kesalahan input pemakai Kesalahan peralatan
Penanganan eksepsi Kondisi: Jadi penanganan yang dapat dilakukan: Pemakai tidak tahu menahu mengenai bagaimana suatu kesalahan terjadi. Tetapi satu hal yang pasti ketika pemakai mengalami kejadian yang menimbulkan kesalahan yang tidak tertangani, pemakai akan kapok dan berusaha menghindari pemakaian. Jadi penanganan yang dapat dilakukan: Memberitahu kesalahan kepada pemakai Menyimpan semua pekerjaan Mengijinkan Pemakai keluar dari program atau situasi yang diakibatkan kesalahan tersebut dan menlanjutkan proses berikutnya.
Exception Java menyediakan sebuah mekanisme penanganan kesalahan yang biasa disebut exception-handling. Setiap kesalahan akan dibentuk menjadi sebuah obyek
Jenis-Jenis Exception Pemrograman Berorientasi Objek 1 Jenis-Jenis Exception Ada kelompok exception yang diperiksa oleh interpreter, apakah akan ditangani atau dilempar, namun ada pula exception yang akan tidak diperiksa interpreter. Disamping itu programmer dibolehkan membuat exception sendiri dengan cara extends atau implements kelas Exception
5 Kata Kunci Penjebakan Eksepsi Try Catch Throw Throws Finally
Kategori Exception
Class Throwable Direct Known Subclasses: Error, Exception
Class Error Direct Known Subclasses: AnnotationFormatError, AssertionError, AWTError, CoderMalfunctionError, FactoryConfigurationError, LinkageError, ThreadDeath, TransformerFactoryConfigurationError, VirtualMachineError
Class Exception Direct Known Subclasses: AclNotFoundException, ActivationException, AlreadyBoundException, ApplicationException, AWTException, BackingStoreException, BadAttributeValueExpException, BadBinaryOpValueExpException, BadLocationException, BadStringOperationException, BrokenBarrierException, CertificateException, ClassNotFoundException, CloneNotSupportedException, DataFormatException, DatatypeConfigurationException, DestroyFailedException, ExecutionException, ExpandVetoException, FontFormatException, GeneralSecurityException, GSSException, IllegalAccessException, IllegalClassFormatException, InstantiationException, InterruptedException, IntrospectionException, InvalidApplicationException, InvalidMidiDataException, InvalidPreferencesFormatException, InvalidTargetObjectTypeException, InvocationTargetException, IOException, JMException, LastOwnerException, LineUnavailableException, MidiUnavailableException, MimeTypeParseException, NamingException, NoninvertibleTransformException, NoSuchFieldException, NoSuchMethodException, NotBoundException, NotOwnerException, ParseException, ParserConfigurationException, PrinterException, PrintException, PrivilegedActionException, PropertyVetoException, RefreshFailedException, RemarshalException, RuntimeException, SAXException, ServerNotActiveException, SQLException, TimeoutException, TooManyListenersException, TransformerException, UnmodifiableClassException, UnsupportedAudioFileException, UnsupportedCallbackException, UnsupportedFlavorException, UnsupportedLookAndFeelException, URISyntaxException, UserException, XAException, XMLParseException, XPathException
Tabel Checked Exception Pemrograman Berorientasi Objek 1 Tabel Checked Exception No Exception Deskripsi 1 ClassNotFoundException Kelas tidak ditemukan 2 CloneNotSupportedException melakukan clone objek yang tidak mengimplementasikan interface Cloneable 3 IllegalAccessException Pengaksesan ke kelas ditolak 4 InstantiationException Menciptakan objek dari kelas abtract ataupun dari interface 5 InterruptedException Thread telah diinterupsi oleh thread lain 6 NoSuchFieldException Field yang diminta tidak ada 7 NoSuchMethodException Method yang diminta tidak ada
Tabel Uncheked Exception Pemrograman Berorientasi Objek 1 Tabel Uncheked Exception No Exception Deskripsi 1 AritmaticException Kesalahan Aritmatik seperti pembagian dengan nol 2 ArrayIndexOutBoundsException Index array di luar batas 3 ArrayStoreException Pemberian nilai ke elemen array tidak sesuai dengan tipenya 4 ClassCastException Cast yang tidak sah 5 IllegalArgumentException Argument illegal 6 IllegalMonitorStateException Operasi monitor illegal seperti menunggu di thread yang tidak terkunci 7 IllegalStateException Lingkungan atau aplikasi state yang tidak benar 8 IllegalThreadStateException Operasi yang diminta tidak kompatibel dengan state thread saat itu 9 IndexOutOfBoundException Indeks di luar batas
Tabel Uncheked Exception Pemrograman Berorientasi Objek 1 Tabel Uncheked Exception 10 NegativeArraySizeException Array diciptakan dengan ukuran negatif 11 NullPointerException Penggunan null yang tidak sah 12 NumberFormatException Konversi yang tidak sah dari string ke format numerik 13 SecurityException Melanggar aturan security 14 StringIndexOutOfBounds Index di luar batas string 15 UnsupportedOperationException Ditemukan operasi yang tidak didukung Dua Exception yang belum dikelompokkan, yaitu IOException dan AWTException.
Format Exception try { … //blok program } catch (tipeEksepsi penampungEksepsi)
CONTOH PROGRAM 1
Penggunaan Blok try catch Walaupun penanganan exception secara default cukup bermanfaat, namun terkadang kita ingin menangani exception tersebut dengan cara yang berbeda. Ada beberapa alasan mengapa kita ingin melakukan ini : Kita ingin program kita memperbaiki kesalahan akibat exception & terus melanjutkan eksekusi seolah-olah tidak pernah terjadi exception Kita ingin program terus berjalan dan bukannya dihentikan pada saat exception terjadi. User umumnya tidak mengerti dengan pesan kesalahan yang dimunculkan, apalagi beserta stack tracenya sehingga kurang bermanfaat untuk user. Jadi kita mungkin ingin mengganti pesan tersebut menjadi pesan yang lebih mudah dimengerti.
ArrayIndexOutOfBoundsException
LATIHAN 1 BUAT PROGRAM EXCEPTION HANDLING PROGRAM 1 DENGAN MENGGUNAKAN TRY-CATCH (OOP) BUAT PROGRAM SEHINGGA DIPEROLEH KELUARAN (TRY CATCH)
TUBES BUAT KELOMPOK (+- 3 ORANG) BUAT PRODUK BERUPA PROGRAM PENILAIAN : GUI, DATABASE, MULTIMEDIA AJUAN KELOMPOK DAN NAMA ANGGOTA HARI INI (23 OKTOBER 2014)