Heim  >  Artikel  >  php教程  >  php抛出异常

php抛出异常

PHP中文网
PHP中文网Original
2016-05-23 08:39:221044Durchsuche

PHP代码

<?php
 
/**
 * 错误异常处理
 */
 
$arr = [
     
    &#39;data&#39; => &#39;hello world&#39;,
];
 
 
$res = &#39;123&#39;;
 
printData(check($res));
 
printData(check($arr));
 
 
/**
 * Array
(
[line] => 21
[file] => 21
[msg] => not is array
)
Array
(
[data] => hello world
)
 *
 */
 
function check($x){
 
    try{
        if(!is_array($x)) {
 
            throw new Exception(&#39;not is array&#39;);
        }
 
    }catch(Exception $e){
 
        $data[&#39;line&#39;] = $e->getLine();
        $data[&#39;file&#39;] = $e->getLine();
        $data[&#39;msg&#39;] = $e->getMessage();
        return $data;
    }
 
    return $x;
}
 
$item = &#39;123&#39;;
 
$row = [
    &#39;0&#39;=>1,
];
 
 
print_r(checkString($item));
 
print_r(checkString($row));
 
/*
 * Fatal error:  Uncaught Exception: 不是字符串 in D:\xampp\htdocs\phperror.php:77
Stack trace:
#0 D:\xampp\htdocs\phperror.php(62): checkString(Array)
#1 {main}
  thrown in D:\xampp\htdocs\phperror.php on line 82
 
 
Array
(
    [0] => 1
)
 */
 
function checkString($y){
 
    if(!is_string($y)){
 
        throw new Exception(&#39;不是字符串&#39;);
    }
 
    return $y;
 
}
 
 
function printData($data){
 
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
 
    print_r($data);
}


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn