Direkomendasikan: Tutorial ASP: Mempelajari program skrip ASP untuk pertama kalinya Mengapa belajar bahasa skrip? Apa hubungan antara ASP dan bahasa skrip? Pertama, mari kita bicara tentang apa ASP yang berharga. ASP adalah singkatan dari halaman server Microsoft Active, lingkungan skrip sisi server yang dapat digunakan untuk membuat halaman web interaktif dan membangun yang kuat
Penanganan kesalahan ASP
ASP sangat sederhana sehingga banyak pengembang tidak memikirkan penanganan kesalahan. Penanganan kesalahan dapat membuat aplikasi Anda lebih masuk akal. Saya telah melihat banyak situs web komersial yang ditulis dalam ASP, yang sebagian besar mengabaikan penanganan kesalahan.
Tipe yang salah
Ada tiga jenis kesalahan utama:
Kesalahan Kompilasi:
Kesalahan semacam ini terjadi secara umum karena masalah sintaks kode. Kata kerja ASP berhenti berjalan karena kesalahan kompilasi.
Jalankan kesalahan
Kesalahan ini terjadi ketika Anda siap menjalankan ASP. Misalnya: Jika Anda mencoba menetapkan nilai ke variabel, tetapi di luar ruang lingkup yang diizinkan oleh variabel.
Kesalahan logis
Kesalahan logis adalah yang paling sulit dideteksi. Kesalahan semacam ini sering kali merupakan kesalahan struktural yang tidak dapat ditemukan oleh komputer. Ini mengharuskan kami untuk memeriksa kode kami secara menyeluruh.
Karena kesalahan kompilasi biasanya terjadi bersama dengan kesalahan logis dan umumnya dapat ditampilkan, yang kita khawatirkan adalah kesalahan operasi. Itu semua mengakhiri operasi ASP dan meninggalkan banyak teks yang sangat tidak ramah untuk pengguna.
Jadi bagaimana kita menangani kesalahan operasi! ? Mari kita lihat dulu. Satu-satunya perintah kesalahan yang diberikan kepada kami oleh ASP --- pada resume kesalahan berikutnya (saya ingin mengingatkan pemula bahwa hanya ada kesalahan resume pernyataan berikutnya di ASP, tetapi tidak ada kesalahan resume goto pernyataan)
Jika Anda tidak menggunakan pernyataan resume ON error berikutnya, semua kesalahan yang berjalan akan terjadi, yang fatal, maka kode kesalahan akan ditampilkan kepada pengguna, dan program ASP juga akan berhenti.
Ini kode kesalahan:
| Berikut ini adalah konten yang dikutip: Penyedia DB Microsoft OLE untuk kesalahan driver ODBC 80004005 [Microsoft] [ODBC Driver Manager] Nama sumber data tidak ditemukan dan tidak ada driver default yang ditentukan /test.asp, baris 60 |
Ketika kami menggunakan pernyataan resume ON Error berikutnya di bagian atas program, semua kesalahan akan diabaikan dan program akan secara otomatis menjalankan pernyataan berikutnya. Dengan cara ini, program akan dieksekusi sepenuhnya, dan pengguna tidak akan melihat pesan kesalahan setelah kesalahan terjadi. Tetapi ada juga kerugian dengan cara ini, yaitu, jika program tidak mengeksekusi seperti yang Anda bayangkan, akan sulit bagi Anda untuk mencari tahu apa yang salah, jadi Anda harus berurusan dengan kesalahan jika diperlukan.
Penanganan kesalahan
Di ASP, cara terbaik untuk mengatasi kesalahan adalah dengan menempatkan kode di bagian bawah program untuk menangani kesalahan. Saya juga merekomendasikan menggunakan buffer di setiap program ASP. Dengan cara ini, jika terjadi kesalahan, halaman akan berhenti dan konten halaman akan dihapus, sehingga pengguna tidak akan melihat pesan kesalahan dan akan ada lebih sedikit keluhan tentang Anda! Inilah contohnya:
| Berikut ini adalah konten yang dikutip: <% 'Setel buffer ke true Response.buffer = true 'Mulai penanganan kesalahan Pada kesalahan resume berikutnya %> <% 'Penanganan kesalahan Jika err.number <> 0 lalu 'Hapus halamannya Respons.clear 'Tampilkan pesan kesalahan kepada pengguna %> <Html> <head> <title> </title> </head> <Body bgcolor =#c0c0c0> <Font face = Arial> Terjadi kesalahan dalam eksekusi halaman ASP ini <br> Harap laporkan informasi berikut ke meja dukungan <p> <b> Objek kesalahan halaman </b> <br> Nomor kesalahan: < %= err.number %> <br> Pesan Kesalahan: < %= err.Description %> <br> File kesalahan: < %= err.source %> <br> Garis kesalahan: < %= err.line %> <br> </font> </body> </html> <%Berakhir jika%> |
Seperti yang Anda lihat di atas, pertama -tama saya mengatur resume kesalahan berikutnya, sehingga kesalahan tidak akan mempengaruhi eksekusi program.
Penanganan dan database kesalahan
Eksekusi menambahkan database ke penanganan kesalahan sangat rumit. Jika kami memiliki program dengan banyak perintah untuk menambahkan catatan ke database, jika Insert/Update dijalankan di bagian bawah program, jika kesalahan kami terjadi lagi sebelumnya, maka itu akan berakhir! Kami akan menambahkan pesan kesalahan ke database. Karena kami menggunakan resume kesalahan berikutnya, semua kesalahan diabaikan! Bahkan jika ada kesalahan sebelumnya, program masih akan menambahkan data ke database.
Untuk menghindari situasi ini, kita harus melakukan beberapa trik terlebih dahulu. Cara yang benar untuk menghadapinya adalah sebagai berikut:
| Berikut ini adalah konten yang dikutip: Jika err.number = 0 dan objconnection.errors.count = 0 lalu 'Pernyataan itu hanya dapat dieksekusi di sini karena tidak ada kesalahan Atur rStresult = dbdata.execute (txtsql) Akhiri jika |
Solusi yang lebih maju
Ketika kesalahan terjadi, Anda juga dapat menampilkan lebih banyak pesan kesalahan. Berikut ini adalah contoh penanganan database dan kesalahan halaman. Dengan itu, kami dapat menemukan semua kesalahan dalam program kami sekaligus.
| Berikut ini adalah konten yang dikutip: <% Jika err.number <> 0 lalu Respons.clear Pilih case err.number Kasus 8 'Tentukan nomor yang salah 'Memecahkan masalah kesalahan khusus di sini Kasus lain 'Kesalahan umum Jika isObject (objconnection) maka Jika ObjConnection.Errors.Count> 0 lalu %> <b> Objek Koneksi Basis Data </b> <% Untuk intloop = 0 ke objconnection.errors.count - 1 %> Kesalahan No: < %= objconnection.errors (intloop) .number %> <br> Deskripsi: < %= objconnection.Errors (intloop) .Description %> <br> Sumber: < %= objconnection.Errors (intloop) .source %> <br> Sqlstate: < %= objconnection.errors (intloop) .sqlstate %> <br> NativeError: < %= objconnection.Errors (intloop) .nativeError %> <p> <% Berikutnya Akhiri jika Akhiri jika Jika err.number <> 0 lalu %> <b> Objek kesalahan halaman </b> <br> Nomor kesalahan < %= err.number %> <br> Deskripsi Kesalahan < %= err.Description %> <br> Sumber < %= err.source %> <br> Linenumber < %= err.line %> <p> <% Akhiri jika Akhiri Pilih Akhiri jika %> |
Contoh di atas memungkinkan kita untuk menangani banyak masalah yang muncul dalam database, yang juga biasa digunakan dalam pemrograman harian kita! Kita juga harus melihat bahwa Pilih Pernyataan Kasus, yang memungkinkan kita menangani kesalahan tertentu.
Pengalihan dan penanganan kesalahan
Satu hal yang harus kita perhatikan adalah objek pengalihan yang sering kita gunakan. Jika objek pengalihan muncul di halaman, maka penanganan kesalahan akan kehilangan artinya. Jadi kita harus menghadapinya sebelum berbalik, sebagai berikut:
| Berikut ini adalah konten yang dikutip: Jika err.number = 0 dan objconnection.errors.count = 0 lalu Respons.clear Response.redirect url di sini Akhiri jika |
Membuat kodenya lebih rapi
Untuk membuat kode lebih rapi, pertama tempat file yang ditangani kesalahan dalam file contil. Dengan cara ini Anda dapat menggunakannya di file apa pun. Ini juga nyaman untuk dimodifikasi.
Tambahkan pernyataan resume ON error berikutnya di bagian atas program Anda (setelah deklarasi bahasa tentu saja).
Lakukan pemeriksaan kesalahan sebelum Anda menjalankan SQL.
Penanganan kesalahan juga diperlukan sebelum menggunakan pengalihan.
Biarkan Anda menangani kesalahan yang berisi file di bagian atas kode.
Bagikan: Program ASP mewujudkan fungsi pagination dari menghemat nilai parameter Berikut ini adalah konten yang direferensikan: <%'' '' 'Contoh Contoh'Dim Int_rpp, Int_start, Int_shownumberlili