>  기사  >  php教程  >  php抛出异常

php抛出异常

PHP中文网
PHP中文网원래의
2016-05-23 08:39:221088검색

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


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.