Error Handling dalam Swift


Fitur Error Handling dalam Swift sudah ada sejak Swift 2.0 yang memungkinkan Kamu untuk menulis kode yang lebih bersih, modular, dan mudah dibaca.

Sebelum memulai apa saja sih permasalahan yang kita jumpai dalam Error Handling.

  • Bagaimana Kamu memperingatkan rekan kerja Kamu bahwa fungsi tersebut dapat menghasilkan hasil yang tidak terduga?
  • Apa itu blok do-try ?
  • Bagaimana kita dapat membedakan antara try?, try dan try!?

Pemeriksaan keamanan dengan else-if

Desain pemeriksaan keamanan untuk pengendara berdasarkan ketinggian. Jika penumpang lebih tinggi dari 2m atau di bawah 1,4m, program akan mengirim pesan kesalahan bersama dengan instruksi lainnya.

Swift

Masalah dengan else-if
1. Fungsi menjadi terlalu krodit(kembung)
2. Kurangnya modularitas
3. Ketidakpastian

Error Handling

Error Handling hanyalah alternatif lain untuk menulis pernyataan else-if, tidak hanya menangani Error tetapi juga memberikan respon di blok yang terpisah.

Design Error

Buat enum yang sesuai dengan protokol Error. Kemudian tentukan casenya.

Swift

Jenis apa pun yang menyatakan kecocokan dengan protokol ‘Error’ dapat digunakan untuk mewakili kesalahan dalam sistem penanganan kesalahan Swift. Karena protokol ‘Error’ tidak memiliki persyaratannya sendiri, Kamu dapat mendeklarasikan kesesuaian pada jenis custom apa pun yang Kamu buat.

Throwable Function

Buat fungsi yang dapat melempar / mengembalikan kesalahan dengan memasukkan throw di akhir parameter fungsi. Fungsi tidak mengandung pesan kesalahan. Harus diketahui “throw” sebuah kesalahan akan “ditangkap” dan ditangani dalam blok terpisah do-try.

Swift

Call and Handle Error

Untuk memanggil fungsi yang mengandung throws, fungsi membutuhkan try di dalam blok do. Blok catch digunakan untuk mengenali error yang dilempar oleh fungsi. Jika tidak terdapat error, blok catch akan diabaikan.

Swift

Error Handling saat Inisialisasi Object

Swift

Ketika user memasukkan string kosong saat inisialisasi, fungsi init akan throws error CourseError.noName

Swift

Inisialisasi dan Handle Error

Buat objek menggunakan try di dalam blok do-catch.

Swift

Membedakan antara try, try? dan try!

try hanya digunakan di dalam blok do-catch. Namun try? dan try! dapat digunakan tanpa blok do-catch.

Kamu dapat menggunakan try tanpa blok do-try di dalam Playground, tetapi itu tidak diperbolehkan di tempat lain.

try? mengembalikan tipe optional. Jika fungsi/Init mengembalikan error, maka hasilnya akan nil.

Swift

try! mengembalikan tipe normal, Jika fungsi/Init mengembalikan error akan terjadi CRASH.

Swift

Oke sekian untuk pembahasan Error Handling dalam swift.

Semoga bermanfaat.

0 0 votes
Rating
Subscribe
Notify of
guest


0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

0
Would love your thoughts, please comment.x
()
x