


Lima minit untuk menunjukkan kepada anda pengendalian pengecualian dalam PHP
Oct 20, 2021 pm 05:26 PMDalam artikel sebelum ini, saya membawakan anda "Anda mesti faham cara menambah tera air imej dalam PHP", yang memperkenalkan anda secara terperinci cara menambah tera air dalam PHP melalui contoh Artikel ini Dalam artikel ini, kami akan terus melihat pengetahuan berkaitan pengendalian ralat dalam PHP. Saya harap ia dapat membantu semua orang.
Ralat dan pengendalian pengecualian dalam PHP sangat biasa digunakan dalam PHP Dalam pembangunan harian kita, kita pasti akan menghadapi perkara seperti terlupa untuk menambah koma bertitik , fungsi nama ditulis secara salah atau fungsi ditakrifkan semula, dsb. Terdapat banyak ralat Jika ralat boleh ditemui semasa proses pembangunan, ia pasti akan memberi manfaat kepada pembangunan kita.
Oleh itu, menggunakan proses dengan betul semasa membangunkan projek akan membantu kami mencari dan membetulkan ralat untuk mempercepatkan pembangunan. Kemudian mari kita lihat cara memahami pengendalian ralat kami. Anda juga boleh belajar melalui video pengajaran "pengendalian ralat php" percuma.
Kelas pengendalian pengecualian dalam PHP
PHP menyediakan kelas pengendalian pengecualian terbina dalam, iaitu Exception
, kelas ini mengandungi beberapa fungsi pengendalian pengecualian yang boleh menangkap pengecualian dan ralat program.
Berikut ialah fungsi yang lebih biasa digunakan dalam kelas ini:
getTraceAsString()
: Mengembalikan rentetan terformat yang dijana oleh fungsi getTrace() Maklumat__toString()
: Maklumat rentetan yang menjana pengecualian, ia boleh terlebih muatan. Ambil perhatian bahawa bahagian hadapan fungsi ini ialah dua garis bawahgetMessage()
: mengembalikan kandungan mesej pengecualiangetLine()
: mengembalikan ralat Nombor baris kodgetCode()
: Mengembalikan kod pengecualian dalam bentuk angkagetFile()
: Mengembalikan nama fail tempat pengecualian berlakugetTrace()
: Kembalikan susunan jejak belakang()
Tangkap pengecualian dalam program
Pengecualian dalam program biasanya tidak muncul dengan sendirinya Pada masa ini, kita boleh menggunakan pernyataan try catch
dan kata kunci throw
untuk mencapai tujuan menangkap pengecualian dalam program.
Pernyataan try catch adalah serupa dengan pernyataan kawalan aliran Kata kunci lontaran boleh membuang pengecualian dalam program melalui struktur yang serupa dengan pemilihan bersyarat. Format sintaks pernyataan cuba tangkap adalah seperti berikut:
try{ // 可能出現(xiàn)異常或錯誤的代碼,比如文件操作、數(shù)據(jù)庫操作等 }catch(Exception $a){ // $a 為一個異常類的對象 // 輸出錯誤信息 }
Apabila kita perlu menangkap pengecualian program, kita perlu meletakkan kod yang perlu ditangkap ke dalam blok kod cuba dalam sintaks di atas , setiap percubaan harus mempunyai sekurang-kurangnya A tangkapan sepadan. Apabila blok kod cuba tidak menangkap pengecualian yang sepadan, kod akan melompat ke tangkapan terakhir dan meneruskan.
Pengecualian yang dijana di dalamnya boleh dibuang keluar oleh pernyataan lontaran dan ditangkap oleh tangkapan Apabila pengecualian berlaku, kod di belakangnya tidak akan terus dilaksanakan.
Contohnya adalah seperti berikut:
<?php try{ $err = '拋出異常信息,并跳出 try 語句塊'; if(is_dir('./demo')){ echo '這里是一些可能會發(fā)生異常的代碼'; }else{ throw new Exception($err, 20211020); // 拋出異常 } echo '上面拋出異常的話,這行代碼將不會執(zhí)行,轉(zhuǎn)而執(zhí)行 catch 中的代碼。<br>'; }catch(Exception $e){ echo '捕獲異常:'.$e->getMessage().'<br>錯誤代碼:'.$e->getCode().'<br>'; } echo '繼續(xù)執(zhí)行 try catch 語句之外的代碼'; ?>
Hasil keluaran:
Dalam contoh di atas, melalui pernyataan cuba Cuba untuk menentukan sama ada terdapat direktori bernama demo dalam direktori semasa, direktori itu tidak wujud, jadi kata kunci lontaran dilaksanakan dan pengecualian dibuang. Selepas pengecualian ditemui dan dibuang, penyataan baki pernyataan cuba tidak akan dilaksanakan.
Buat kelas pengecualian anda sendiri
Sesetengah pengecualian boleh ditakrifkan terlebih dahulu dalam PHP, kerana PHP jarang mengambil inisiatif Membuang pengecualian Apabila pengecualian ditakrifkan terlebih dahulu, kita boleh menggunakan if-else untuk menilai kemungkinan pengecualian dan membuang pengecualian secara manual Dalam PHP, kita selalunya boleh menggunakan kelas pengecualian yang kita cipta sendiri.
Contohnya adalah seperti berikut:
<?php class emailException extends Exception{ function __toString(){ return "<b>email is null</b>file:".$this->getFile().',line:'. $this->getLine(); } } class nameException extends Exception{ } ?>
Dalam contoh di atas, dua kelas pengecualian ditakrifkan, kedua-duanya mewarisi daripada kelas asas Pengecualian.
Dalam perniagaan sebenar, kami juga akan membuang pengecualian yang berbeza mengikut keperluan yang berbeza Contoh adalah seperti berikut:
function reg($reg) { if (empty($reg['email'])) { throw new emailException("emaill is null", 1); } if(empty($reg['name'])) { throw new nameException("name is null", 2); } }
Apabila melaksanakan kod perniagaan, anda boleh menggunakan pernyataan if untuk menilai Di mana pengecualian akan. berlaku, kemudian membuang pengecualian secara manual, dan mengedarkan pengecualian yang berbeza kepada kelas pengecualian yang berbeza melalui pernyataan dalam contoh berikut, pengecualian yang berbeza ditangkap mengikut situasi yang berbeza Apabila tangkapan pertama menangkap Pengecualian, walaupun terdapat pengecualian lain dalam program, yang lain blok kod tangkapan akan dilangkau. Tidak kira sama ada terdapat pengecualian dalam program, pernyataan dalam akhirnya akhirnya akan dilaksanakan. Contohnya adalah seperti berikut:
try{ $reg = array('phone'=>'1888888888'); reg($reg); } catch(emailException $e) { echo $e; } catch(nameException $e) { echo 'error msg:' .$e->getMessage().'error code:'.$e->getCode(); } finally { echo ' finally'; }
Jika anda ingin mengetahui lebih lanjut tentang PHP, anda boleh klik pada "Tutorial Video PHP" untuk belajar!
Atas ialah kandungan terperinci Lima minit untuk menunjukkan kepada anda pengendalian pengecualian dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tostaycurrentwithphpdevelopmentsandbestpractices, followeyNewsssourcesLikePhp.netandphpweekly, engageWithCommunitiesonforumsandconference, keeptoolingupdatedandgraduallyAdoptNewFeatures, dan readribcoursourcourceSource

Phpbecamepopularforwebdevelopmentduetoitseaseoflearning, seamlessintegrationwithhtml, widespreadhostingsupport, andalargeecosystemincludingframeworkslikelaravelandcmsplatformsLikeWordPress.itexcelsinhandessubmissions

TosetTheRightTimeZoneinPhp, USEDATE_DEFAULT_TIMEZONE_SET () functionAtthestArtAfyourscriptwithavalididentifiersuchas'america/new_york'.1.usedate_default_timeSet ()

TOVALIDATEUSERIputInphp, UsEbuilt-InvalidationFunctionsLikeFilter_var () danFilter_Input (), applyRegularExpressionsforcustomformatssuchasususerorphonenumbers, checkdatatypesfornumericressplimeSpriceSprice, setLengthacheAngeAgeorpriceSprice, setLengthacheArpesenprice,

ThPhpFunctionserialize () andUnserialize () diselaraskanToConvertComplexDataStructructDestoresIntoStorasandabackagain.1.Serialize () C overtsdatalikeCarraysorObjectSrayStringContainingTyPeanStructureStructureStructureStructure.2.2Serialize ()

Anda boleh membenamkan kod PHP ke dalam fail HTML, tetapi pastikan fail itu mempunyai lanjutan .php supaya pelayan dapat menghuraikannya dengan betul. Gunakan tag standard untuk membungkus kod PHP, masukkan kandungan dinamik di mana sahaja di HTML. Di samping itu, anda boleh menukar PHP dan HTML beberapa kali dalam fail yang sama untuk merealisasikan fungsi dinamik seperti rendering bersyarat. Pastikan anda memberi perhatian kepada konfigurasi pelayan dan ketepatan sintaks untuk mengelakkan masalah yang disebabkan oleh label pendek, kesilapan tanda petikan atau label akhir yang ditinggalkan.

Kunci untuk menulis kod PHP yang bersih dan mudah dijaga terletak pada penamaan yang jelas, berikutan piawaian, struktur yang munasabah, menggunakan komen dan kesesuaian yang baik. 1. Gunakan pembolehubah, fungsi dan nama kelas yang jelas, seperti $ userData dan calculateToTalPrice (); 2. Ikuti gaya kod bersatu piawai PSR-12; 3. Pecahkan struktur kod mengikut tanggungjawab, dan aturnya menggunakan katalog MVC atau Laravel; 4. Elakkan kod gaya mi dan memecah logik ke dalam fungsi kecil dengan satu tanggungjawab; 5. Tambah komen pada mata utama dan tulis dokumen antara muka untuk menjelaskan parameter, pulangan nilai dan pengecualian; 6. Meningkatkan kebolehlihatan, mengguna pakai suntikan pergantungan, mengurangkan kaedah keadaan global dan statik. Amalan ini meningkatkan kualiti kod, kecekapan kerjasama dan kemudahan pasca penyelenggaraan.

Ya, youpanrunsqlqueriesusingphp, danTheProcessinvolveschoosingadatabaseextension, connectingTothedatabase, executingqueriSafely, andclosingconnectionswhendone.todothis, firstChoosebetweBetbeSquLiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpdob
