Maison  >  Article  >  php教程  >  php抛出异常

php抛出异常

PHP中文网
PHP中文网original
2016-05-23 08:39:221097parcourir

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);
}


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn