pengendalian pengecualian php
大家讲道理
大家讲道理 2017-05-16 13:02:45
0
3
481
cuba{
    echo 'cuba <br/>';
    $mysql = mysqli baharu('localhost', 'root', '111', 'test');
} tangkapan (Pengecualian $e){
    bergema 'tangkap <br/>';
    echo $e->getMessage();
}

Kod adalah seperti di atas, pengecualian berlaku
Hasil output:
cuba

Amaran: mysqli::mysqli(): (28000/1045): Akses ditolak untuk pengguna 'root'@'localhost' (menggunakan kata laluan: YES) dalam /home/test/its2/webroot/public/unserialize.php pada baris 31

Mengapa tangkapan keluaran tidak dilaksanakan?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

membalas semua(3)
PHPzhong

Anda perlu memberitahu mysqli untuk membuang sebagai pengecualian dan bukannya amaran.

mysqli_report(MYSQLI_REPORT_STRICT); // 加上这一行!!!

try{
    echo 'try <br/>';
    $mysql = new mysqli('localhost', 'root', '111', 'test');
} catch (Exception $e){
    echo 'catch <br/>';
    echo $e->getMessage();
}

Lawati sekali lagi, keputusan adalah seperti berikut:
cuba
tangkap
Akses ditolak untuk pengguna 'root'@'localhost' (menggunakan kata laluan: YA)

阿神

Sila bezakan dengan jelas perbezaan antara amaran dan Pengecualian.

Amaran dan Ralat dalam PHP adalah masalah yang diingatkan oleh pembangun dalam program Masalah ini tidak semestinya perlu ditangani
Pengecualian adalah masalah yang disesuaikan dan perlu ditangani dalam aplikasi Pengecualian yang sepadan

黄舟

Lihat ini http://www.cnblogs.com/water0...

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan