1. throw
operator
Nalika pangecualian kejiret dening catch
pemblokiran, lan nganti di buwang menyang mesin Jawa, iku mung obyek warisan Exception
(utawa rodo, Throwable
). Obyek pangecualian dhewe ora nduweni sipat magis.
Kabeh logika carane pangecualian bisa mung cara khusus mesin Jawa tumindak nalika pangecualian dibuwang menyang.
Sampeyan bisa tansah rethrow istiméwa kejiret kanggo mesin Jawa. Kanggo nindakake iki, sampeyan kudu nggunakake throw
operator:
throw exception;
Tuladha:
Kode | Output konsol |
---|---|
|
|
Ing kode iki, kita kejiret pangecualian, ditampilake pesen babagan ing layar, lan banjur rethrew iku.
Pangecualian rethrown ora bisa kejiret dening catch
pamblokiran liyane ing pemblokiran padha try
.
2. Pangecualian Panjenengan
Miturut cara, sampeyan bisa nggawe obyek pangecualian dhewe: iku mung obyek kang jinis Exception
utawa kelas sing oleh warisan. Lan uncalan.
Iku luwih gampang saka muni. Tuladha:
Kode | Output konsol |
---|---|
|
|
Ing conto ing ndhuwur, kita nggawe obyek istiméwa anyar kang jinis RuntimeException
lan langsung mbuwang nggunakake throw
operator.
Iku bakal langsung kejiret dening catch
pemblokiran, wiwit RuntimeException warisan Exception
. Kode catch (Exception except)
nyekel obyek pangecualian saka kabeh kelas sing marisi Exception
kelas kasebut.
3. finally
tembung kunci
Titik penting liyane. Kadhangkala programer kudu nindakake sawetara tumindak preduli saka apa ana pangecualian ing kode. Contone, umpamane kita mbukak file kanggo nulis. File sing dibukak kudu ditutup kanthi nelpon close()
.
try
{
// Code where an exception might occur
}
catch(ExceptionType name)
{
// Exception handling code
}
finally
{
// Code that must executed no matter what happens
}
Kanggo nindakake tumindak wajib kasebut, jinis blok liyane ( finally
) ditambahake ing try-catch
konstruk, saengga nggawe try-catch-finally
konstruksi kasebut. Katon kaya iki:
Tuladha:
FileInputStream source = null;
try
{
source = new FileInputStream("c:\\note.txt");
source.read();
}
catch(Exception except)
{
System.out.println("Caught the exception");
throw except;
}
finally
{
if (source != null)
source.close();
}
Kode ing finally
blok kasebut bakal dieksekusi ing kasus apa wae, preduli yen ana pangecualian. Sanajan pangecualian dibuwang lan ora kejiret, finally
blok kasebut isih bakal ditindakake.
Miturut cara, yen sampeyan ora pengin nyekel pangecualian, nanging sampeyan mbutuhake blok finally
, gunakake notasi shorthand kanggo mbangun try-catch-finally
: try-finally
blok. Iku katon kaya iki:
try
{
// Code where an exception might occur
}
finally
{
// Code that must executed no matter what happens
}
GO TO FULL VERSION