Penanganan Pengecualian Di MVC [2 Metode Teratas Untuk Menangani Pengecualian]

Diterbitkan: 2020-12-29

Penanganan pengecualian di MVC sebagian besar digunakan saat membuat aplikasi lini bisnis yang memerlukan spesifikasi dan kondisi tertentu serta memiliki persyaratan unik.

Mari kita pahami apa penanganan pengecualian secara mendalam dan bagaimana hal itu membantu Anda dengan aplikasi Anda.

Daftar isi

Apa itu Penanganan Pengecualian?

Ini adalah proses penanganan dan menanggapi kondisi luar biasa yang terjadi dan memerlukan metode khusus; ini perlu dimasukkan dalam aplikasi bisnis untuk meningkatkan hasil dan memastikan bahwa semua persyaratan ditangani dengan benar.

Ada dua cara signifikan di mana pengecualian ini ditangani:

  • Metode tangkap dan blokir
  • Metode penanganan kesalahan aplikasi.

Namun, ini bukan satu-satunya metode yang digunakan untuk proses tersebut.

Di sini, kita akan membahas berbagai langkah dan teknik yang dapat Anda gunakan untuk mengelola pengecualian di MVC.

Metode Penanganan Coba-Tangkap

Metode catch and block dianggap sebagai metode tradisional yang digunakan untuk penanganan eksepsi dalam aplikasi berbasis MVC. Anda akan mencatat informasi kesalahan menggunakan metode ini.

Mencoba

{ tambahkan pengecualian;}

tangkap (nama pengecualian)

{

tampilan kembali ("Kesalahan");

}

Anda memasukkan kondisi pengecualian di blog coba dan menambahkan nama pengecualian untuk blok tangkap. Ketika pengecualian ditangkap di blok tangkap, itu akan mengembalikan kesalahan yang disebutkannya.

Ini juga dapat digunakan untuk menangani dan mencatat semua kesalahan dalam aplikasi.

Metode Pengecualian

Metode ini memungkinkan Anda untuk mengganti metode OnException di dalam kelas pengontrol. Kode kesalahan 500 digunakan untuk menangani semua kesalahan yang dicatat akibat penanganan pengecualian di MVC .

Pada dasarnya, Anda dapat mencatat dan menentukan tampilan pengecualian dengan metode ini tanpa pengulangan percobaan. Anda tidak perlu mengaktifkan konfigurasi <customErrors> di web.config untuk memulai dengan metode ini.

HomeController kelas publik: Pengontrol

{

Kontak Hasil Aksi publik ()

{

pesan string = nol;

ViewBag.Message = msg.Length;

kembali Lihat();

}

protected override void OnException(ExceptionContext filterContext)

{

filterContext.ExceptionHandled = true;

// Catat kesalahannya!!

//Mengalihkan ke tindakan

filterContext.Result = RedirectToAction(“Error”, “InternalError”);

// ATAU kembalikan tampilan tertentu

filterContext.Result = ViewResult baru

{

ViewName = “~/Views/Error/InternalError.cshtml”

};

}

}

Lihatlah kode di atas, dan Anda akan melihat bahwa OnException adalah metode batal, dan mengambil objek ExceptionContext sebagai argumen.

Argumen ini berisi semua informasi yang diperlukan untuk mencatat kesalahan. Jika Anda mengatur ExceptionHandled=true, maka Anda akan dapat mencatat tindakan yang dihasilkan dari pengontrol tertentu dengan mudah.

Atribut HandleError

Ini adalah metode populer lainnya untuk menangani pengecualian dan mengelola kesalahan dalam MVC aplikasi Anda. Jika Anda melihat kesalahan yang dibuat oleh metode tindakan atau pengontrol, Anda harus menggunakan metode ini.

Dengan atribut ini, Anda dapat memilih untuk menampilkan tampilan khusus untuk pengecualian tertentu. Ini bisa terjadi baik dalam metode tindakan atau pengontrol.

Sekali lagi, metode ini juga digunakan saat Anda mengelola kesalahan dengan kode 500. Anda tidak dapat mencatat pengecualian menggunakan metode ini.

Ada cara khusus untuk menambahkan atribut ini agar berfungsi sesuai keinginan Anda. Anda harus menambahkan filter atribut HandleError di dalam metode FilterConfig.RegisterGlobalFilters().

Bersamaan dengan ini, Anda harus memastikan bahwa mode kesalahan kustom <CustomErrors = “on”> selalu disetel ke aktif di dalam web.config. Pada titik ini, Anda dapat menambahkan atribut ke mode aktif.

HomeController kelas publik: Pengontrol

{

[MenanganiError]

Kontak Hasil Aksi publik ()

{

pesan string = nol;

ViewBag.Message = msg.Length;

kembali Lihat();

}

}

Kode yang baru saja kami sebutkan berfungsi paling baik untuk konteks dan kebutuhan penanganan pengecualian.

Di sini atribut dikonfigurasi untuk metode tindakan Contact(). Saat proses dikompilasi, Anda akan melihat Error.cshtml ditampilkan dalam mode tampilan.

Ini akan terjadi hanya ketika pengecualian terjadi. Ini adalah tampilan default dalam semua kasus luar biasa. Anda juga dapat menggunakan atribut ini untuk mengonfigurasi berbagai halaman guna mengelola berbagai jenis pengecualian.

Meskipun atribut ini berfungsi sempurna untuk penanganan kesalahan dan mengelola semua jenis konfigurasi, atribut ini mungkin tidak berfungsi di semua tempat. Pilih untuk beberapa contoh di mana Anda yakin itu akan membantu aplikasi Anda.

Metode ini tidak mendukung pengecualian logging. Ia berhasil menangkap hanya pengecualian HTTP dalam kode 500. Ia tidak dapat menangkap pengecualian dari pengontrol lain. Jadi, itu bukan atribut yang dapat Anda pertimbangkan untuk semua kesempatan dan kebutuhan.

Mewarisi Dari HandleError

Anda bahkan dapat menggunakan metode ini untuk menangani pengecualian. Metode di atas yang kami diskusikan tidak memungkinkan Anda untuk menggunakan kembali komponen, yang dapat dianggap sebagai kelemahan.

Anda tidak dapat berfungsi jika Anda harus terus membuat kode untuk semua pengecualian yang perlu dicatat.

Akibatnya, Anda harus menggunakan ekstensi ini. Ini memungkinkan Anda untuk mewarisi dari atribut HandleError, dan menggunakannya di seluruh pengontrol tertentu. Akibatnya, Anda dapat menangani pengecualian tanpa harus terlalu sering membuat kode.

Baca Juga: Pertanyaan Wawancara Penanganan Pengecualian

Application_Error Acara

Application_Error Event adalah metode lain untuk menangani kesalahan Aplikasi dan mengelola pengecualian. Bagian ini mengharuskan Anda untuk mengontrol acara Application_Error dalam file global.asax.

Anda dapat memicu peristiwa ini untuk semua jenis kode kesalahan dan penanganan pengecualian di MVC , membuatnya lebih mudah digunakan dan salah satu metode terbaik untuk menangani pengecualian.

Ini menggunakan metode pencatatan kesalahan utama, yang dapat digunakan untuk mengelola semua pengecualian yang tidak ditangani dalam aplikasi.

Mengelola Kesalahan HTTP

Metode yang disebutkan di sini tidak dapat menangani pengecualian HTTP apa pun. Kami berbicara tentang pengecualian seperti "File Tidak Ditemukan" dan pesan kesalahan umum lainnya yang pasti akan Anda dapatkan.

Anda harus memasukkan detail kesalahan dan kode kesalahan dalam sintaks untuk mengelola pengecualian ini.

Anda perlu mencatat semua kemungkinan kode kesalahan dan pesan yang mungkin Anda dapatkan sebagai bagian dari aplikasi sebelum Anda merilis sintaksnya.

Untuk meningkatkan pengetahuan Anda tentang aplikasi lini bisnis, dan mendapatkan kemahiran dalam bahasa pemrograman, bergabunglah dengan upGrad .

Dengan serangkaian kursus dan berbagai pilihan karir, Anda akan meningkatkan peluang karir Anda.

Terhubung dengan pakar kami atau pesan telepon dengan kami untuk mengetahui lebih banyak tentang opsi yang dipersonalisasi untuk Anda.

Mendaftar di Kursus Rekayasa Perangkat Lunak dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.

Kesimpulan

Saat menangani penanganan pengecualian di MVC , Anda perlu memastikan bahwa metode yang Anda pilih memungkinkan Anda untuk merekam semua kemungkinan kesalahan. Anda harus dapat menggunakan kembali komponen dan mengelola semua kesalahan aplikasi. Pelajari tentang penanganan pengecualian di Java.

Jika Anda menginginkan satu metode untuk menangani semua kemungkinan pengecualian, Anda harus memilih metode Global Application_Error . Itu memastikan untuk mencatat semua kesalahan bersama dengan <CustomErrors> dan memastikan bahwa mereka dicatat di Web.Config.

Dengan metode ini, pengguna diarahkan ke halaman tertentu ketika mereka menemukan kesalahan. Penanganan eksepsi adalah salah satu konsep inti pengembangan aplikasi menggunakan ASP.Net MVC.

Kami berharap artikel ini bermanfaat untuk mempelajari tentang Exception Handling di MVC; silakan jelajahi blog kami untuk mengetahui lebih banyak tentang berbagai aplikasi.

Jika Anda tertarik untuk mempelajari lebih lanjut tentang pengembangan tumpukan penuh, lihat Program PG Eksekutif upGrad & IIIT-B dalam Pengembangan Perangkat Lunak Tumpukan Penuh yang dirancang untuk para profesional yang bekerja dan menawarkan 500+ jam pelatihan ketat, 9+ proyek, dan tugas, status Alumni IIIT-B, proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.

Menjadi Pengembang Tumpukan Penuh

Daftar Sekarang untuk Magister Rekayasa Perangkat Lunak