Rumah pembangunan bahagian belakang masalah PHP Cara menggunakan php try catch statement

Cara menggunakan php try catch statement

Oct 08, 2021 pm 03:10 PM
php

Dalam PHP, pernyataan cuba tangkap dengan kata kunci lontaran boleh digunakan untuk menangkap pengecualian dalam program Pengecualian yang dijana dalam kod atur cara boleh dilontarkan oleh pernyataan lontaran cuba dan ditangkap oleh sintaks "cuba{ //Code}catch(Exception $e){//Output error}".

Cara menggunakan php try catch statement

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3

Saya ingin menangkap pengecualian dalam program dalam PHP , perlu menggunakan kenyataan cuba tangkap dan melontar kata kunci untuk mencapainya. Pernyataan try catch adalah serupa dengan pernyataan kawalan aliran, jadi anda boleh menggunakan pernyataan try catch untuk melaksanakan struktur pemilihan bersyarat alternatif dan kata kunci lontaran boleh membuang pengecualian. Format sintaks pernyataan cuba tangkap adalah seperti berikut:

try{
    // 可能出现异常或错误的代码,比如文件操作、数据库操作等
}catch(Exception $e){    // $e 为一个异常类的对象
    // 输出错误信息
}
Salin selepas log masuk

Kod yang memerlukan pengendalian pengecualian mesti diletakkan dalam blok kod cuba untuk menangkap kemungkinan pengecualian. Setiap percubaan mesti mempunyai sekurang-kurangnya satu tangkapan yang sepadan. Gunakan berbilang tangkapan untuk menangkap pengecualian yang dijana oleh kelas yang berbeza.

Apabila blok kod cuba tidak lagi melemparkan pengecualian atau tiada tangkapan ditemui sepadan dengan pengecualian yang dilemparkan, kod PHP akan meneruskan pelaksanaan selepas melompat ke tangkapan terakhir.

Pengecualian yang dijana dalam kod PHP boleh dilemparkan dengan pernyataan lontaran dan ditangkap oleh pernyataan tangkapan. Sudah tentu, PHP membenarkan pengecualian dilemparkan semula dalam blok tangkapan.

Apabila pengecualian dilemparkan, kod berikutnya tidak akan terus dilaksanakan dan PHP akan cuba untuk terus mencari tangkapan padanan pertama. Jika pengecualian tidak ditangkap dan tidak dikendalikan dengan sewajarnya menggunakan set_exception_handler(), ralat serius akan berlaku dan mesej UncaughtException... akan dikeluarkan.

【Contoh】Gunakan cuba tangkap dan lempar untuk menangkap pengecualian dalam program.

<?php
    try{
        $err = &#39;抛出异常信息,并跳出 try 语句块&#39;;
        if(is_dir(&#39;./test&#39;)){
            echo &#39;这里是一些可能会发生异常的代码&#39;;
        }else{
            throw new Exception($err, 12345);   // 抛出异常
        }
        echo &#39;上面抛出异常的话,这行代码将不会执行,转而执行 catch 中的代码。<br>&#39;;
    }catch(Exception $e){
        echo &#39;捕获异常:&#39;.$e->getMessage().&#39;<br>错误代码:&#39;.$e->getCode().&#39;<br>&#39;;
    }
    echo &#39;继续执行 try catch 语句之外的代码&#39;;
?>
Salin selepas log masuk

Keputusan yang dijalankan adalah seperti berikut:

捕获异常:抛出异常信息,并跳出 try 语句块
错误代码:12345
继续执行 try catch 语句之外的代码
Salin selepas log masuk

Dalam kod sampel, dalam blok pernyataan cuba, cuba tentukan sama ada terdapat direktori bernama ujian dalam direktori semasa . Jika direktori ini tidak wujud, , maka kod pada baris 7 akan dilaksanakan dan pengecualian akan dilemparkan melalui lontaran kata kunci. Pengecualian ini ialah objek kelas Pengecualian, dijana melalui kata kunci baharu, dan objek dimulakan dengan mesej ralat $err dan kod ralat 12345, supaya maklumat ini boleh diperolehi apabila pengecualian ditangkap kemudian (baris 11 daripada kod).

Setelah pengecualian dilemparkan, baki kod dalam blok pernyataan cuba tidak lagi akan terus dilaksanakan Aliran program akan dipindahkan ke blok pernyataan tangkapan yang sepadan untuk pelaksanaan, dan akhirnya mesej ralat dan kod akan menjadi output dengan memanggil fungsi ahlinya melalui objek Pengecualian.

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Cara menggunakan php try catch statement. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Konfigurasi Projek CakePHP Konfigurasi Projek CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan memahami Pembolehubah Persekitaran, Konfigurasi Umum, Konfigurasi Pangkalan Data dan Konfigurasi E-mel dalam CakePHP.

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

CakePHP Bekerja dengan Pangkalan Data CakePHP Bekerja dengan Pangkalan Data Sep 10, 2024 pm 05:25 PM

Bekerja dengan pangkalan data dalam CakePHP adalah sangat mudah. Kami akan memahami operasi CRUD (Buat, Baca, Kemas Kini, Padam) dalam bab ini.

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Penghalaan CakePHP Penghalaan CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Pengesah Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

See all articles