Programming Language Concept Session 11

Programming Language Concept Session 11


  • Di bahasa tanpa exception handling:
    – Ketika suata exception terjadi, control menjadi milik operating system, dimana suatu message ditampilkan dan program tersebut berakhir
  • Di bahasa dengan exception handling:
    – Program diperbolehkan menjebak beberapa exception, dengan itu menyediakan kemungkinan memperbaiki masalah tersebut dan melanjutkan
  • Exception merupakan kejadian tak biasa, keliru atau tidak, yang terdeteksi oleh hardware atau software dan yang mungkin memerlukan pemrosesan special
  • Pemrosesan special yang mungkin dibutuhkan ketika exception dideteksi dikenal dengan exception handling
  • Exception handling dilakukan oleh unit code atau segmen yang dikenal dengan exception handler
  • Exception raised ketika kejadian yang sehubungan dengannya terjadi
  • Di beberapa bahasa berbasi C mengenalnya dengan sebutan thrown, bukan raised
  • Alternatif exception handling:
    – Mengirim parameter pembantu atau menggunakan return value untuk menandakan status return dari suatu subprogram
    – Melempar label parameter ke semua subprogram (error return ke label yang dilempar)
    – Melempar exception handling subprogram ke semua subprogram
  • Keuntungan exception handling built-in:
    – Tanpa exception handling, deteksi code error membosankan untuk ditulis dan mengacaukan program
    – Exception handling mengajak programmer untuk memperkirakan banyak kemungkinan error
    Exception progagation memperbolehkan penggunanan level tinggi code exception handling
  • Alur control exception handling

Exception Handling di C++


  • Bentuk:

try {

— code that is expected to raise an exception

}

catch (formal parameter) {

handler code

}

catch (formal parameter) {

handler code

}

  • catch merupakan nama semua handler, merupakan overloaded name sehingga formal parameter harus unik
  • Formal parameter dari catch tidak harus memiliki variable
  • Formal parameter dari catch dapat digunakan untuk memindahkan infromasi ke handler
  • Formal parameter dari catch dapat berbentuk ellipsis (…), yang mana case yang di-handlenya merupakan exception yang belum di-handle
  • Semua exception di-raise secara explisit oleh pernyataan

throw [expression];

  • Bracket di code diatas merupakan metasymbol yang digunakan untuk menjelaskan bahwa expresi tersebut optional
  • Throw tanpa operand hanya dapat muncul di handler, ketika ia muncul, ia hanya me-raise kembali exception tersebut, yang mana kemudian dihandle di tempat lain
  • Tipe expresi tidak membuat ambigu handler yang dimaksudkan
  • Unhandler exception:
    Unhandled expcetion disebarkan ke pemanggil fungsi dimana ia di-raise
    – Penyebaran ini berlanjut ke fungsi utama
    – Jika tak ditemukan handler, handler default dipanggil
  • Setelah handler menyelesaikan eksekusinya, control mengalir ke pernyataan pertama dari handler terakhir di rentetan handler yang merupakan suatu elemen

Event Handling di Java


  • Event merupakan notifikasi bahwa sesuatu yang spesifik telah terjadi, seperti klik-an mouse di tombol graphical
  • Event handler merupakan segmen code yang dieksekusi untuk menanggapi suatu event
  • Komponen Java Swing GUI:
    Text box merupakan objek dari kelas JTextField
    Radio button merupakan objek dari kelas JRadioButton
    – Tampilan Applet merupakan frame, suatut struktur multilayered
    Content pane merupakan satu layer, dimana applet meletakkan output
    – Komponen GUI dapat diletakkan di suatu frame
    Layout manager object digunakan untuk mengontrol peletakan komponen
  • Java event model:
    – Interaksi user dengan komponen GUI membuat event yang dapat ditangkap oleh event handler, dikenal dengan event listener
    Event generator memberitahu listener event dengan mengirim suatu pesan
    Interface digunakan untuk membuat metode event handling sesuai dengan protocol standar
    – Kelas yang mengimplementasi listener harus mengimplementasi suatu interface untuk listener tersebut
    – Salah satu kelas event adalah ItemEvent, yang berhubungan dengan event mengklik checkbox, radio button, atau list item
    Interface ItemListener menentukan metode, itemStateChanged, yang mana merupakan handler untuk event ItemEvent
    Listener dibentuk dengan addItemListener

Sumber:

  • Concept of Programming Languages 10th. Ed  / Robert W. Sebesta (Chapter 14)
  • Exception Handling & Event Handling / Binus Powerpoint Presentation

This entry was posted in Computer Science, Programming Language Concept and tagged , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *