Try Catch

27 Mar

Try Catch ini adalah salah satu fitur dari Java untuk menangkap eksepsi atau kesalahan. Ya mungkin kita sering melakukan kesalahan dalam membuat program. Nah, dengan menggunakan Try Catch ini kita bisa menangkap kesalahan itu.

Eksespsi bisa berupa kesalahan penulisan kode, kesalahan saat menjalankan method dan sebagainya.

Bentuk umum Try Catch

try {
   <blok_programs>;
}
catch(<parameter>) {
   <blok_yang_dijalankan_jika_terjadi_eksepsi>;
}
finally {
   <blok_yang_dijalankan_terakhir>;
}

Di blok program di dalam Try itu adalah program yang akan dijalankan dan akan ditangkap eksepsinya jika terjadi kesalahan. Dan yang di blok catch adalah blok yang dijalankan jka terjadi eksepsi, jadi pesan kesalahannya di dalam catch ini. Biasanya berupa statement. Finally sebenarnya hanya pelengkap saja dan jarang digunakan. Ini bisa dibayangkan sebagai footer, yaitu akan keluar di akhir atau dijalankan di akhir. Mungkin akan lebih jelas dengan contoh di bawah ini:

class Coba {
   public static void main(String[] args) {
      System.out.println("star program\n");
      try{
         System.out.println(10/0);
      }
      catch(Throwable b) {
         System.err.println("terjad kesalahan >> "+b.getMessage());
      }
      finally {
         System.out.println("Pembagian nol\n");
      }
      System.out.println("end of program");
   }
}

Outputnya

start program

terjadi kesalahan >> / by zero

pembagian nol

end of program

NB:

  • Program dibaca dari atas, mencetak start program terlebih dulu setelah itu baru masuk try
  • Di blok program try terjadi kesalahan. Kesalahannya, bilangan berapapun jika dibagi nol itu tidak bisa atau tidak terdefinisi.
  • Blok catch mencetak kesalahannya. Catch mempunyai parameter b yang berkelas Throwable. Throwable adalah kelas yang ada di package java.lang yang menangani eksepsi dan merupakan turunan dari kelas objek (kelas tertinggi di JAVA). Dan perlu diketahui blok ini akan dijalankan jika terjadi eksepsi saja.
  • System.err.println untuk mencetak kesalahan dan getMessage() adalah method untuk menampilkan kesalahan yang terjadi.
  • Blok finally itu bisa dikatakan seperti footer, jadi akan dijalankan di bagian terakhir saja dan akan tetap dijalankan walaupun tidak terjadi kesalahan atau eksepsi sekalipun
  • Setelah selesai akan keluar dari Try Catch dan mencetak end of program.

5 Responses to “Try Catch”

  1. antie March 5, 2011 at 5:32 am #

    bisa minta contoh soalnya (satu program utuh) penggunaan block catch lebih dari satu !!!!!!!!!!1

  2. bernazse May 12, 2011 at 5:02 pm #

    sebenarnya penggunaan (multi) catch block tergantung kebutuhan nilai kembalian yang ingin ditampilkan. Class & parameter di block catch beda-beda tergantung kebutuhan

    okay…contohnya seperti ini

    try {
    // TODO code application logic here
    Connection connection;
    Class.forName(“com.mysql.jdbc.Driver”);
    connection = DriverManager.getConnection(“jdbc:mysql://localhost:3306/kobatama”, “root”, “”);
    String sql=”select idJadwal from jadwal order by idJadwal desc limit 1″;
    PreparedStatement ps=connection.prepareStatement(sql);
    ResultSet rs=ps.executeQuery();
    while (rs.next()) {
    System.out.println(rs.getString(“idJadwal”));
    }
    } catch (SQLException ex) {
    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
    } catch (ClassNotFoundException ex) {
    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
    }

  3. angga bayu prasetya July 12, 2011 at 11:25 pm #

    senang menemukan artikel ini

  4. dwi November 28, 2011 at 3:21 am #

    bagaimana dengan penggunaan try catch pada gui(JFrame Form)??

  5. retro May 3, 2012 at 12:46 pm #

    bagaimana jika input nilai hanya di perbolehkan hanya numerik saja, apabila yang diinput adalah string, maka akan dimunculkan suatu pesan dan input akan diminta ulang.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.