PENGERTIAN
MODULARITAS, MULTI THEADING, EXCEPTION HANDLING
Modularitas
Modularitas adalah memecah sesuatu
yang kompleks atau rumit menjadi bagian-bagian kecil yang dapat dikendalikan
atau diatur.Penjelasan rinci dari modularitas adalah mengatur kompleksitas
dengan memecah sesuatu yang besar atau kompleks ke dalam kelompok bagian-bagian
kecil yang lebih mudah diatur.Bagian-bagian kecil tersebut kemudian dapat
dibangun atau dibuat secara tersendiri dan tidak tergantung pada bagian
lainnya.Modularitas merupakan kunci untuk penulisan program yang bagus
(modular).Dengan modularitas, kesalahan di satu bagian program dapat dikoreksi
tanpa perlu mempertimbangkan bagian-bagian lainnya, serta bagian program dapat
dipahami tanpa harus memahami keseluruhannya. Contoh dari modularitas dapat
diilustrasikan sebagai berikut : suatu sistem yang disebut sistem proses
pemesanan, dapat dipecah-pecah menjadi bagian-bagian kecil yaitu system
pembayaran, pengisian, pemesanan dan urutan pemesanannya.
Multi Threading
- Thread: sekumpulan instruksi (proses) yang dieksekusi secara independen
- Multithreading: suatu kemampuan yang memungkinkan beberapa kumpulan instruksi (proses) dijalankan secara bersamaan (time slicing) dalam sebuah program
- Multithreading bermanfaat untuk membuat proses yang interaktif, misalnya pada program permainan (game). Program tetap dapat menggerakkan beberapa objek sambil memberi kesempatan pengguna melakukan respon melalui mouse atau keyboard
Multithreading adalah suatu kemampuan yang memungkinkan beberapa kumpulan
instruksi atau proses dapat dijalankan secara bersamaan dalam sebuah program.
Satu kumpulan instruksi yang akan dieksekusi secara independen dinamakan
thread. thread adalah alur kontrol dari suatu proses.atau
sekumpulan perintah (instruksi) yang dapat dilaksanakan (dieksekusi) secara
teratur dengan proses lainnya.Proses melakukan setiap langkah-langkah/intruksi
yang berurutan, setiap intruksi untuk mengeksekusi baris kode/listing – listing
program.Nah Karena langkah-langkah yang berurutan itu, setiap langkah
membutuhkan jumlah waktu tertentu.
IMPLEMENTASI THREAD DAN MULTITHREAD SERVER
Pengertian Multithreading dan Thread
Multithreading adalah suatu kemampuan yang memungkinkan beberapa
kumpulan instruksi atau proses dapat dijalankan secara bersamaan dalam sebuah
program. Satu kumpulan instruksi yang akan dieksekusi secara independen dinamakan
thread.
Thread sangat berguna untuk membuat proses yang interaktif; misalnya pada
permainan (game). Dengan menggunakan sejumlah thread, program tetap dapat
menggerakkan sejumlah objek sembari memberikan kesempatan pemakai untuk
melakukan tanggapan melalui keyboard. Web browser merupakan contoh lain
penggunaan thread. Tanpa thread, Web browser akan menghentikan segala tanggapan
terhadap pemakai ketika perangkat lunak tersebut sedang mengambil isi dari suatu URL.

Implementasi Thread
Thread pada Java ditangani melalui dua mekanisme. Cara pertama dilakukan
dengan memperluas kelas Thread, sedangkan cara kedua dilakukan dengan
mengimplementasikan Runnable.
1. Thread dengan Menggunakan kelas Thread
Cara pertama untuk membuat thread adalah dengan memperluas kelas Thread
dan kemudian menuliskan kembali kode pada metode run(). Secara prinsip, hal ini
dilakukan dengan bentuk semacam berikut:
class namaKelas extends Thread {
public void run() {
…
}
2. Thread Melalui Runnable
Runnable sesungguhnya adalah sebuah interface. Dengan mengimplementasikan interface ini, sebuah kelas yang menangani thread dapat diciptakan. Kelas Thread merupakan implementasi dari Runnable. Secara prinsip, hal ini dilakukan dengan bentuk semacam berikut:
ObjekRunnable objek = new ObjekRunnable();
Thread namavar = new Thread(Objek Runnable);
Atau
New Thread(new ObjekRunnable());
Sebuah thread memungkinkan untuk memiliki beberapa state:
1. Running
Sebuah thread yang pada saat ini sedang dieksekusi dan didalam control dari CPU.
2. Ready to run
Thread yang sudah siap untuk dieksekusi, tetapi masih belum ada kesempatan untuk
melakukannya.
3. Resumed
Setelah sebelumnya di block atau diberhentikan sementara, state ini kemudian siap
untuk dijalankan.
4. Suspended
Sebuah thread yang berhenti sementara, dan kemudian memperbolehkan CPU untuk
menjalankan thread lain bekerja.
5. Blocked
Sebuah thread yang di-block merupakan sebuah thread yang tidak mampu berjalan,
karena ia akan menunggu sebuah resource tersedia atau sebuah event terjadi.
Untuk menentukan thread mana yang akan menerima control dari CPU dan akan
dieksekusi pertama kali, setiap thread akan diberikan sebuah prioritas. Sebuah prioritas adalah sebuah nilai integer dari angka 1 sampai dengan 10, dimana semakin tinggi prioritas dari sebuah thread, berarti semakin besar kesempatan dari thread tersebut untuk dieksekusi terlebih dahulu.

Multithreading adalah suatu kemampuan yang memungkinkan beberapa
kumpulan instruksi atau proses dapat dijalankan secara bersamaan dalam sebuah
program. Satu kumpulan instruksi yang akan dieksekusi secara independen dinamakan
thread.
Thread sangat berguna untuk membuat proses yang interaktif; misalnya pada
permainan (game). Dengan menggunakan sejumlah thread, program tetap dapat
menggerakkan sejumlah objek sembari memberikan kesempatan pemakai untuk
melakukan tanggapan melalui keyboard. Web browser merupakan contoh lain
penggunaan thread. Tanpa thread, Web browser akan menghentikan segala tanggapan
terhadap pemakai ketika perangkat lunak tersebut sedang mengambil isi dari suatu URL.

Implementasi Thread
Thread pada Java ditangani melalui dua mekanisme. Cara pertama dilakukan
dengan memperluas kelas Thread, sedangkan cara kedua dilakukan dengan
mengimplementasikan Runnable.
1. Thread dengan Menggunakan kelas Thread
Cara pertama untuk membuat thread adalah dengan memperluas kelas Thread
dan kemudian menuliskan kembali kode pada metode run(). Secara prinsip, hal ini
dilakukan dengan bentuk semacam berikut:
class namaKelas extends Thread {
public void run() {
…
}
2. Thread Melalui Runnable
Runnable sesungguhnya adalah sebuah interface. Dengan mengimplementasikan interface ini, sebuah kelas yang menangani thread dapat diciptakan. Kelas Thread merupakan implementasi dari Runnable. Secara prinsip, hal ini dilakukan dengan bentuk semacam berikut:
ObjekRunnable objek = new ObjekRunnable();
Thread namavar = new Thread(Objek Runnable);
Atau
New Thread(new ObjekRunnable());
Sebuah thread memungkinkan untuk memiliki beberapa state:
1. Running
Sebuah thread yang pada saat ini sedang dieksekusi dan didalam control dari CPU.
2. Ready to run
Thread yang sudah siap untuk dieksekusi, tetapi masih belum ada kesempatan untuk
melakukannya.
3. Resumed
Setelah sebelumnya di block atau diberhentikan sementara, state ini kemudian siap
untuk dijalankan.
4. Suspended
Sebuah thread yang berhenti sementara, dan kemudian memperbolehkan CPU untuk
menjalankan thread lain bekerja.
5. Blocked
Sebuah thread yang di-block merupakan sebuah thread yang tidak mampu berjalan,
karena ia akan menunggu sebuah resource tersedia atau sebuah event terjadi.
Untuk menentukan thread mana yang akan menerima control dari CPU dan akan
dieksekusi pertama kali, setiap thread akan diberikan sebuah prioritas. Sebuah prioritas adalah sebuah nilai integer dari angka 1 sampai dengan 10, dimana semakin tinggi prioritas dari sebuah thread, berarti semakin besar kesempatan dari thread tersebut untuk dieksekusi terlebih dahulu.

Multithread berasal dari dua kata yakni multi dan thread. Multi
bermakna banyak sementara thread bermakna benang atau alur. Namun dalam
praktik sebenarnya, multithread adalah sebuah metode yang memungkinkan sebuah
program menjalankan dua atau lebih operasi dalam satu waktu.Sebenarnya ketika
kita membuat sebuah program, secara otomatis kita sudah memiliki satu thread
dalam program tersebut. Membuat sebuah program yang menginginkan berjalan
dengan banyak thread dilakukan dengan dua cara: cara mengimplementasi interfaceRunnable dan meng-extends kelas Thread itu sendiri.
Dengan demikian, kelas tersebut
harus mengimplementasikan pula satu method yaitu method run(); yang dideklarasikan sebagai berikut: public
void run(){} Setelah membuat kelas yang
mengimplementasikan interface Runnable, kita dapat menginstansiasi objek dengan
tipe Thread di dalam kelas main.
Keuntungan MultiThreading
Keuntungan dari sistem yang menerapkan multithreading dapat kita kategorikan menjadi 4 bagian:
1. Responsif. Aplikasi interaktif menjadi tetap responsif meskipun sebagian dari program sedang diblok atau melakukan operasi lain yang panjang. Umpamanya, sebuah thread dari web browser dapat melayani permintaan pengguna sementara thread yang lain berusaha menampilkan gambar.
2. Berbagi sumber daya. Beberapa thread yang melakukan proses yang sama akan berbagi sumber daya. Keuntungannya adalah mengizinkan sebuah aplikasi untuk mempunyai beberapa thread yang berbeda dalam lokasi memori yang sama.
3. Ekonomis. Pembuatan sebuah proses memerlukan pengalokasian memori dan sumber daya. Alternatifnya adalah dengan menggunakan thread, karena thread membagi memori dan sumber daya yang dimilikinya sehingga lebih ekonomis untuk membuat thread dan context switching thread. Akan susah mengukur perbedaan waktu antara thread dan switch, tetapi secara umum pembuatan dan pengaturan proses akan memakan waktu lebih lama dibandingkan dengan thread. Pada Solaris, pembuatan proses memakan waktu 30 kali lebih lama dibandingkan pembuatan thread sedangkan proses context switch 5 kali lebih lama dibandingkan context switching thread.
4. Utilisasi arsitektur multiprosesor. Keuntungan dari multithreading dapat sangat meningkat pada arsitektur multiprosesor, dimana setiap thread dapat berjalan secara paralel di atas procesor yang berbeda.Pada arsitektur processor tunggal, CPU menjalankan setiap thread secara bergantian tetapi hal ini berlangsung sangat cepat sehingga menciptakan ilusi paralel, tetapi pada kenyataanya hanya satu thread yang dijalankan CPU pada satu-satuan waktu.
Model MultiThreading
Beberapa terminologi yang akan dibahas:
1. Thread pengguna: Thread yang pengaturannya dilakukan oleh pustaka thread pada tingkatan pengguna. Karena pustaka yang menyediakan fasilitas untuk pembuatan dan penjadwalan thread, thread pengguna cepat dibuat dan dikendalikan.
2. Thread Kernel: Thread yang didukung langsung oleh kernel. Pembuatan, penjadwalan dan manajemen thread dilakukan oleh kernel pada kernel space. Karena dilakukan oleh sistem operasi, proses pembuatannya akan lebih lambat jika dibandingkan dengan thread pengguna.
Model-Model MultiThreading:
1. Model Many-to-One. Model ini memetakan beberapa thread tingkatan pengguna ke sebuah thread. tingkatan kernel. Pengaturan thread dilakukan dalam ruang pengguna sehingga efisien. Hanya satu thread pengguna yang dapat mengakses thread kernel pada satu saat. Jadi Multiple thread tidak dapat berjalan secara paralel pada multiprosesor. Contoh: Solaris Green Threads dan GNU Portable Threads.
2. Model One-to-One. Model ini memetakan setiap thread tingkatan pengguna ke setiap thread. Ia menyediakan lebih banyak concurrency dibandingkan model Many-to-One. Keuntungannya sama dengan keuntungan thread kernel. Kelemahan model ini ialah setiap pembuatan thread pengguna memerlukan tambahan thread kernel. Karena itu, jika mengimplementasikan sistem ini maka akan menurunkan kinerja dari sebuah aplikasi sehingga biasanya jumlah thread dibatasi dalam sistem. Contoh: Windows NT/XP/2000 , Linux, Solaris 9.
3. Model Many-to-Many. Model ini memultipleks banyak thread tingkatan pengguna ke thread kernel yang jumlahnya sedikit atau sama dengan tingkatan pengguna. Model ini mengizinkan developer membuat thread sebanyak yang ia mau tetapi concurrency tidak dapat diperoleh karena hanya satu thread yang dapat dijadwalkan oleh kernel pada suatu waktu. Keuntungan dari sistem ini ialah kernel thread yang bersangkutan dapat berjalan secara paralel pada multiprosessor.
Kesimpulan
Thread adalah alur kontrol dari suatu proses.
Keuntungan menggunakan Multithreading:
1. Meningkatkan respon dari pengguna.
2. Pembagian sumber daya.
3. Ekonomis.
4. Mengambil keuntungan dari arsitektur multiprosessor.
Tiga model Multithreading:
1. Model Many-to-One.
2. Model One-to-One.
3. Model Many-to-Many.
Pembatalan Thread: Tugas untuk membatalkan Thread sebelum menyelesaikan tugasnya.
Pembatalan Thread terdiri dari 2 jenis:
1. Asynchronous cancellation.
2. Deffered cancellation.
Thread Pools menciptakan sejumlah Thread yang ditempatkan di dalam pool dimana Thread menunggu untuk dipanggil.
Thread Schedulling ada 2 macam:
1. Local Schedulling.
2. Global Schedulling.
Keuntungan dari sistem yang menerapkan multithreading dapat kita kategorikan menjadi 4 bagian:
1. Responsif. Aplikasi interaktif menjadi tetap responsif meskipun sebagian dari program sedang diblok atau melakukan operasi lain yang panjang. Umpamanya, sebuah thread dari web browser dapat melayani permintaan pengguna sementara thread yang lain berusaha menampilkan gambar.
2. Berbagi sumber daya. Beberapa thread yang melakukan proses yang sama akan berbagi sumber daya. Keuntungannya adalah mengizinkan sebuah aplikasi untuk mempunyai beberapa thread yang berbeda dalam lokasi memori yang sama.
3. Ekonomis. Pembuatan sebuah proses memerlukan pengalokasian memori dan sumber daya. Alternatifnya adalah dengan menggunakan thread, karena thread membagi memori dan sumber daya yang dimilikinya sehingga lebih ekonomis untuk membuat thread dan context switching thread. Akan susah mengukur perbedaan waktu antara thread dan switch, tetapi secara umum pembuatan dan pengaturan proses akan memakan waktu lebih lama dibandingkan dengan thread. Pada Solaris, pembuatan proses memakan waktu 30 kali lebih lama dibandingkan pembuatan thread sedangkan proses context switch 5 kali lebih lama dibandingkan context switching thread.
4. Utilisasi arsitektur multiprosesor. Keuntungan dari multithreading dapat sangat meningkat pada arsitektur multiprosesor, dimana setiap thread dapat berjalan secara paralel di atas procesor yang berbeda.Pada arsitektur processor tunggal, CPU menjalankan setiap thread secara bergantian tetapi hal ini berlangsung sangat cepat sehingga menciptakan ilusi paralel, tetapi pada kenyataanya hanya satu thread yang dijalankan CPU pada satu-satuan waktu.
Model MultiThreading
Beberapa terminologi yang akan dibahas:
1. Thread pengguna: Thread yang pengaturannya dilakukan oleh pustaka thread pada tingkatan pengguna. Karena pustaka yang menyediakan fasilitas untuk pembuatan dan penjadwalan thread, thread pengguna cepat dibuat dan dikendalikan.
2. Thread Kernel: Thread yang didukung langsung oleh kernel. Pembuatan, penjadwalan dan manajemen thread dilakukan oleh kernel pada kernel space. Karena dilakukan oleh sistem operasi, proses pembuatannya akan lebih lambat jika dibandingkan dengan thread pengguna.
Model-Model MultiThreading:
1. Model Many-to-One. Model ini memetakan beberapa thread tingkatan pengguna ke sebuah thread. tingkatan kernel. Pengaturan thread dilakukan dalam ruang pengguna sehingga efisien. Hanya satu thread pengguna yang dapat mengakses thread kernel pada satu saat. Jadi Multiple thread tidak dapat berjalan secara paralel pada multiprosesor. Contoh: Solaris Green Threads dan GNU Portable Threads.
2. Model One-to-One. Model ini memetakan setiap thread tingkatan pengguna ke setiap thread. Ia menyediakan lebih banyak concurrency dibandingkan model Many-to-One. Keuntungannya sama dengan keuntungan thread kernel. Kelemahan model ini ialah setiap pembuatan thread pengguna memerlukan tambahan thread kernel. Karena itu, jika mengimplementasikan sistem ini maka akan menurunkan kinerja dari sebuah aplikasi sehingga biasanya jumlah thread dibatasi dalam sistem. Contoh: Windows NT/XP/2000 , Linux, Solaris 9.
3. Model Many-to-Many. Model ini memultipleks banyak thread tingkatan pengguna ke thread kernel yang jumlahnya sedikit atau sama dengan tingkatan pengguna. Model ini mengizinkan developer membuat thread sebanyak yang ia mau tetapi concurrency tidak dapat diperoleh karena hanya satu thread yang dapat dijadwalkan oleh kernel pada suatu waktu. Keuntungan dari sistem ini ialah kernel thread yang bersangkutan dapat berjalan secara paralel pada multiprosessor.
Kesimpulan
Thread adalah alur kontrol dari suatu proses.
Keuntungan menggunakan Multithreading:
1. Meningkatkan respon dari pengguna.
2. Pembagian sumber daya.
3. Ekonomis.
4. Mengambil keuntungan dari arsitektur multiprosessor.
Tiga model Multithreading:
1. Model Many-to-One.
2. Model One-to-One.
3. Model Many-to-Many.
Pembatalan Thread: Tugas untuk membatalkan Thread sebelum menyelesaikan tugasnya.
Pembatalan Thread terdiri dari 2 jenis:
1. Asynchronous cancellation.
2. Deffered cancellation.
Thread Pools menciptakan sejumlah Thread yang ditempatkan di dalam pool dimana Thread menunggu untuk dipanggil.
Thread Schedulling ada 2 macam:
1. Local Schedulling.
2. Global Schedulling.
Ini contoh Program ke dalam 3 BAHASA
Contoh yang pertama adalah program
Dalam Bahasa C#
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
using
System.Threading;
namespace
OOP2_Widy_Multi_Threading
{
class
Program
{
static
void Thread2()
{
int
a = 10;
for
(int i = 0; i <= a; i++)
{
Console.WriteLine("Menghitung
Angka ke-2");
}
}
static
void thread3()
{
int
a = 10;
for
(int i = 0; i <= a; i++)
{
Console.WriteLine("Menghitung
Angka ke-3");
}
}
static
void Main(string[] args)
{
Thread
thre2 = new Thread(Thread2);
Thread
thre3 = new Thread(thread3);
thre2.Start();
thre3.Start();
int
a = 10;
for
(int i = 0; i <= a; i++)
{
Console.WriteLine("Menghitung
Angka ke-1");
}
Console.ReadKey(true);
}
}
}
package
oop2_widy1_multi_threading;
class
thrid extends Thread
{
String
nama;
public
thrid(String a)
{
nama
= a;
}
public
void run()
{
for(byte
i = 0; i<10; i++)
{
System.out.println(nama);
}
}
}
public
class Main
{
public
static void main(String[] args)
{
thrid
dia = new thrid("Menghitung Angka Ke-3");
thrid
mod = new thrid("Menghitung Angka Ke-2");
dia.start();
mod.start();
int
a = 10;
for
(int i = 0; i <= a; i++)
{
System.out.println("Menghitung
Angka Ke-1");
}
}
}
Exception Handling
dari judulnya saja sudah g enak didenger ya? exception handling, apa itu? okey sebelum memulainya ijinkan saya untuk menyulut api tuk membakar tembakau yang menghasilkan asap surga (dibaca :rokok). sebelumnya pasti rekan-rekan pernah menemukan error pada program yang anda buat bukan? nah pernahkan rekan-rekan pas ada error,programnya langsung terminated/berhenti? pastinya pernah kan. nah kali ini kita akan membahas seputar error saja.
kenapa harus error? okey saya akan beri pengandaian pada anda, bayangkan apabila anda disuruh oleh ibu untuk membeli cabai di pasar, tapi anda tidak tahu jalan menuju pasar tersebut. maka terpaksalah anda berjalan menuju pasar dengan harapan dapat menemukan pasar tanpa tersesat. nah pas ditengah-tengah perjalanan ternyata anda salah jalan, apa yang akan anda lakukan? pasti seketika itu anda langsung BERHENTI dan MENCARI jalan lainnya untuk sampai ke pasar. benar kan? nah kalau begitu sama saja seperti yang ada di artikel ini, bila terdapat error pada program maka program akan MENCARI cara lain agar tidak error lagi, dan akan BERHENTI apabila tidak menemukan solusinya. oleh sebab itu kita harus membuat blok kode program untuk menangani apabila terjadi error.
sebelum kita merambah ke programnya, mari kita klasifikasikan jenis-jenis error terlebih dahulu.
dalam ilmu pemrograman, terdapat 3 jenis error. yaitu :
1. Syntax Error
Syntax Error adalah suatu kesalahan dari penulisan syntax pada program sehingga syntax tersebut tidak dapat dieksekusi oleh program yang pasti membuat program tersebut error.
contoh :
1
public static voit main
pastinya program akan error, tahukah dimana letak errornya?
yups betul, VOIT tidak dikenali oleh C#,sehingga program akan error.
2. Logical Error
Logical Error adalah suatu kesalahan yang disebabkan oleh si programmer sendiri, lah kok bisa? hal ini disebabkan oleh kesalahan penulisan atau rumus yang diterapkan oleh si programmer.
anda pasti tahu bila semua angka tidak dapat dibagi oleh 0 (nol).
lah kalau si programmer tetep ngotot,pasti programnya error.
contoh :
1
2
3
4
5
int a = 6;
int b = 0;
double c= a / b;
Console.WriteLine(c);
bagaimana?sudah jelas kan?
3. runtime Error
error yang satu ini tergolong error yang unik,lah kenapa? soalnya menurut saya errornya gara-gara kecerobohan si programmer itu sendiri. error ini akan muncul apabila terjadi miss komunikasi antara program dan file yang dipanggil dalam program, misalnya program itu membutuhkan database yang bernama db_siswa yang disimpan pada localhost,tapi kenyatannya ternyata si programmer tidak mempunyai atau belum membuat database tersebut di localhost, program akan tetap berjalan, namun saat aksi simpan data, hapus data atau tampil data pasti program akan error.
dari semua jenis error diatas pasti memerlukan penanganan agar dapat meminimalisisr ke-error-an pada program. :)
Tiga buah statement di bawah ini adalah statement yang dipakai untuk exception handling:
1. Try Statement : Di dalam blok try statement ini adalah kode-kode program di mana mungkin terjadi error. Jadi seorang programmer harus mengetahui kode manakah yang mungkin akan menyebabkan suatu error dan jika kode program yang memungkinkan terjadinya error telah diketahui, maka sang programmer lebih baik meletakkan kode programnya ke dalam blok try statement ini.
2. Catch statement : Apabila memang error terjadi pada sebuah kode program di dalam blok try statement, maka secara langsung program akan terinterupsi dan dialihkan ke dalam blok catch statement ini. Di dalam blok catch statement ini, sang programmer dapat melakukan tindakan preventif yang sifatnya agar program tersebut tidak akan terjadi error lagi.
3. Finally statement : Blok statement ini akan selalu dieksekusi walaupun program yang kita buat terdapat error atau tidak.
untuk contoh programnya akan saya beberkan dibawah ini.
C#
/*
* Created by SharpDevelop.
* User: Rifky
* Date: 4/9/2012
* Time: 12:43 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
namespace error
{
class Program
{
public static void Main(string[] args)
{
int nol = 0;
int a = 32;
int b =0;
try
{
b = a / nol;
}
catch (Exception salahku)
{
Console.WriteLine(salahku.Message);
}
finally
{
b = a / 2;
Console.WriteLine(b);
}
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}
java
package errorr;
public class Main {
public static void main(String[] args)
{
int d, a;
try
{
d = 0;
a = 32 / d;
}
catch (ArithmeticException salahku)
{
System.out.println(salahku.getMessage());
}
finally
{
a = 42 / 2;
System.out.println(a);
}
}
}












0 komentar
Posts a comment