Direkomendasikan: Gunakan ASP untuk mengembangkan situs web Secara umum, situs web skala besar kurang dan lebih kecil kemungkinannya menggunakan ASP untuk arsitektur, tetapi ASP masih menempati ruang lingkup pasar yang besar di lokasi bisnis kecil dan menengah. ASP disukai oleh administrator situs kecil dan menengah untuk siklus pengembangan yang sederhana dan singkat dan pemeliharaan yang mudah. Namun, sejauh yang saya tahu
7.4.2 Penanganan Kesalahan VBScript
Dalam VBScript, juru bahasa skrip dapat dibuat tidak menangani kesalahan apa pun yang ditemukan dan terus menjalankan pernyataan berikutnya menggunakan pernyataan resume ON Error Next. Setelah pernyataan ini telah diproses, mesin skrip akan terus menjalankan program selanjutnya tanpa membayar kesalahan yang telah ditemukan. Namun, proses ini hanya berlaku untuk lingkungan di mana pernyataan dieksekusi secara berurutan, dan dengan kata lain, bukan untuk fungsi atau subrutin bersarang.
1. Gunakan Pernyataan Resume On Error Berikutnya
Ketika kesalahan terjadi dalam subrutin, jika pernyataan resume ON Error tidak dijalankan, kesalahan akan diserahkan ke lingkungan di mana ia dipanggil. Proses ini diulangi sampai lingkungan berjalan pada pernyataan resume ON Error Next ditemukan, atau penangan kesalahan skrip default ditemukan, dan kesalahan diserahkan ke ASP dan IIS menampilkan halaman kesalahan default.
Rantai panggilan yang salah ini berarti bahwa fungsi dan subrutin dapat dibuat yang mencegah menjalankan kesalahan menyebabkan program berhenti berjalan. Jika pernyataan resume On On Resume berikutnya ditempatkan di awal subrutin, kesalahan run-time apa pun akan membatalkan menjalankan subrutin, tetapi program yang memanggil subrutin akan terus berjalan tanpa menyebabkan halaman web berhenti.
Misalnya, jika Anda perlu menulis string ke file, Anda dapat mengakses file melalui fungsi independen untuk mencegah kesalahan mengganggu seluruh program berjalan:
'Buat file bernama Strfilename, menimpa yang sudah ada dengan nama itu
'dan menulis Strcontent ke dalamnya kemudian menutup file
'Mengembalikan true jika berhasil, atau salah pada kesalahan apa pun
Fungsi WriteNewFile (Strfilename, Strcontent)
On error resume berikutnya 'matikan penangan kesalahan default
WitenewFile = Nilai Pengembalian Fungsi Default FLASE '
Set ObjFSO = CreateObject (Scripting.FilesystemObject)
Jika err.number = 0 maka atur objfile = objfso.createTextFile (strfilename, true)
Jika err.number = 0 maka objFile.WriteLine Strcontent
Jika err.number = 0 maka objfile.close
Jika err.number = 0 maka writeNewFile = true
Fungsi akhir
Perhatikan bahwa program di atas memeriksa properti angka dari objek err VBScript sebelum mencoba memproses setiap pernyataan program. Jika nilai ini 0 (belum ada kesalahan yang terjadi), proses pengarsipan dan pembuatan file dapat dilanjutkan. Namun, jika kesalahan terjadi, mesin skrip akan menetapkan nilai properti objek ERR dan terus memproses baris berikutnya.
Selama dapat berjalan secara normal tanpa menyebabkan kesalahan, nilai pengembalian fungsi akan diatur ke true. Jika tidak, fungsi akan mengembalikan false. Dalam pemrograman, Anda dapat menggunakan fungsi ini dan mengambil tindakan lain setelah mengujinya.
Berikut adalah contoh sederhana, kami ingin menggunakan fungsi terpisah untuk bagian pertama dari tugas sehingga kami dapat lebih akurat mengidentifikasi di mana kesalahan terjadi. Ini membuatnya lebih mudah untuk membaca kode selama debugging. Dalam program utama halaman, tiga fungsi terpisah dapat dipanggil.
Jika CreateNewFile (Strfilename) lalu 'Buat file baru
Response.write File baru berhasil membuat <br>
Jika WriteContent (Strcontent) maka 'Tulis konten
Response.write konten yang ditulis untuk file <br>
Kalau tidak
Response.Write Error: Gagal menulis ke file <br>
Akhiri jika
Jika CloseFile (STRFileName) lalu
Response.write file tertutup <br>
Kalau tidak
Response.write Error: Gagal menutup file <br>
Akhiri jika
Kalau tidak
Response.Write Error: Gagal membuat file baru <br>
Akhir Funciotn
2. Menggunakan kesalahan goto 0
Dalam ASP 2.0 (meskipun tidak ada dokumentasi) dan ASP 3.0, perilaku penanganan kesalahan default juga dapat dipulihkan menggunakan pernyataan ON Error Goto 0. Setelah menjalankan pernyataan ini, kesalahan run-time yang terjadi akan menyebabkan penanganan kesalahan default, memeriksa setiap program bersarang dalam rantai lingkungan hingga kode halaman utama. Jika tidak ada lingkungan lain untuk mematikan penanganan kesalahan default, eksekusi halaman web akan berhenti dan menampilkan halaman kesalahan default IIS.
3. Objek Err VBScript
Pada contoh sebelumnya, ketika penanganan kesalahan default dimatikan, periksa apakah kesalahan telah terjadi dengan memeriksa properti nomor dari objek ERR VBScript. Objek ERR menyimpan informasi tentang kesalahan runtime. Tabel 7-3 dan 7-4 memberikan metode dan properti yang disediakan oleh objek VBScript err.
Tabel 7-3 Metode Objek Err VBScript
metode
menjelaskan
Jernih
Hapus Semua Pengaturan Objek Err saat ini
Mengangkat
Terjadi kesalahan runtime
Tabel 7-4 Properti Objek Err VBScript
milik
menjelaskan
Keterangan
Atur atau kembalikan string yang menggambarkan kesalahan
Nomor
(Default) Set atau kembalikan nilai kesalahan yang ditentukan
Sumber
Atur atau kembalikan nama objek yang menghasilkan kesalahan
Gunakan properti ini untuk memeriksa kesalahan mana yang terjadi. Misalnya, tindakan yang berbeda dapat diambil berdasarkan nomor kesalahan, atau informasi kesalahan dapat diberikan kepada pengguna dengan nilai properti sumber dan deskripsi, atau ditransfer ke file.
Anda juga dapat menggunakan objek ERR untuk menghasilkan kesalahan. Mengapa hal -hal ini? Karena kadang -kadang saya ingin mengirim pesan kesalahan yang disesuaikan kepada pengguna. Properti objek ERR dapat diatur ke nilai yang diinginkan. Kemudian hubungi metode Raise untuk menghasilkan kesalahan ini. Melakukan hal itu akan menghentikan program dan meneruskan kesalahan di sepanjang rantai panggilan.
Contoh berikut menunjukkan cara menangani kesalahan saat membaca file teks pada disk server. Perhatikan cara menggunakan vbobjecterror konstan untuk menentukan bahwa nomor kesalahan yang dipilih tidak akan bingung dengan nomor kesalahan yang ada. Dengan menambahkan nomor kesalahan yang dipilih ke konstanta ini, dijamin tidak disamakan dengan kesalahan yang telah ditentukan.
Functoin ReadThfile (Strfilename) 'Mengembalikan konten sebagai string
Pada kesalahan resume berikutnya
ReadThispile = 'Nilai Fungsi Pengembalian Default
Set ObjFSO = CreateObject (Scripting.FilesystemObject)
Set ObjFile = objfso.opentextFile (strfilename, forreading)
Pilih case err.number
Kasus 0 'ok, tidak ada tindakan
Kasus 50, 53 'File atau path standar yang tidak ditemukan kesalahan
'Buat nilai kesalahan khusus dan naikkan kesalahan cadangan rantai panggilan
interrnumber = vbobjecterror 1073 'nomor kesalahan khusus
Strerrdescript
Bagikan: Bagaimana cara menggunakan ASP untuk mendapatkan alamat IP asli klien? Untuk mendapatkan alamat IP nyata klien melalui server proxy, Anda harus menggunakan permintaan. Tetapi perlu dicatat bahwa tidak setiap server proxy dapat menggunakan permintaan.