Eksepsi terjadi ketika ada sesuatu yang terduga muncul dalam program. Misalnya program anda akan membaca suatu file, namun file tersebut tidak ada. Hal seperti ini ditangani dengan exception
Syntax Error¶
Syntax error, atau dikenal juga sebagai parsing error, adalah error ketika Python memparsing program anda.
>>> Print 'halo' File "", line 1 Print 'halo' ^ SyntaxError: invalid syntax >>> while True print 'Hello world' File "", line 1 while True print 'Hello world' ^ SyntaxError: invalid syntax
Exception¶
Kita akan mencoba / try membaca input dari pengguna. Tekan Ctrl-d apa yang akan terjadi.
>>> teks = raw_input['Ketikkan sesuatu: '] Ketikkan sesuatu: Traceback [most recent call last]: File "", line 1, in EOFError
Python mengeluarkan eksepsi EOFError yang berarti menemukan simbol end of file [direpresentasikan oleh Ctrl-d] ketika program berharap tidak akan ada.
Penanganan Exception¶
Kita dapat menangani eksepsi menggunakan statemen try ... except. Sederhananya kita letakkan statemen yang mungkin mengeluarkan eksepsi kedalam try-block, dan letakan kode penanganan eksepsi kedapam except-block.
# lat39.py try: teks = raw_input['Ketikkan sesuatu: '] except EOFError: print '\nKenapa sudah EOF?' except KeyboardInterrupt: print '\nAnda membatalkan operasi' else: print 'Anda mengetikkan "%s"' % teks
Mengeluarkan Exception¶
Anda dapat mengeluarkan eksepsi menggunakan statemen raise dengan menyediakan obyek eksepsi.
Anda dapat membuat eksepsi sendiri dengan membuat class turunan Exception.
# lat40.py class InputPendekError[Exception]: "exception jika input terlalu pendek" def __init__[self, panjang, minimal]: Exception.__init__[self] self.panjang = panjang self.minimal = minimal try: teks = raw_input['Ketikkan sesuatu: '] panjang = len[teks] minimal_panjang = 3 if panjang