Saya memiliki kode try/except ini:
document = raw_input ('Your document name is ')
try:
with open(document, 'r') as a:
for element in a:
print element
except:
print document, 'does not exist'
Bagaimana cara keluar dari program setelah saya mencetak "[nama file] tidak ada"? break
dan pass
jelas tidak bekerja, dan saya tidak ingin ada kesalahan crash, jadi sys.exit
bukanlah pilihan.
Tolong abaikan bagian try
- itu hanya dummy.
Gunakan sys.exit:
import sys
try:
# do something
except Exception, e:
print >> sys.stderr, "does not exist"
print >> sys.stderr, "Exception: %s" % str(e)
sys.exit(1)
Praktik yang baik adalah mencetak Exception yang terjadi sehingga Anda dapat melakukan debug setelahnya.
Anda juga dapat mencetak stacktrace dengan modul traceback
.
Perhatikan bahwa int yang anda kembalikan di sys.exit akan menjadi kode keluar dari program anda. Untuk melihat kode exit apa yang dikembalikan program Anda (yang akan memberi Anda informasi tentang apa yang terjadi dan dapat diotomatisasi), Anda dapat melakukan:
echo $?
Menggunakan
sys.exit(1)
bukanlah kesalahan crash, ini adalah cara yang normal untuk keluar dari program. Kode keluar 1 adalah sebuah konvensi yang berarti ada sesuatu yang salah (Anda akan mengembalikan 0 dalam kasus yang berhasil dijalankan).
Anda juga dapat meletakkan kode Anda dalam sebuah fungsi dan mengeluarkan return. Anda dapat menyebutnya main yang dapat Anda panggil dari skrip Anda.
def main():
document = raw_input ('Your document name is ')
try:
with open(document, 'r') as a:
for element in a:
print element
except:
print document, 'does not exist'
return
if __name__ == "__main__":
main()