php常见的异常,常见的PHP错误与异常分析和解决办法

菜鸟级的php程序员,遇到下边的问题都会头大,小编为你整理一些常见的PHP错误与异常分析和解决办法。

错误报告关闭和打开

php.ini 的 display_errors = On 或者 Off

代码里 ini_set(‘display_errors’,1) 或者 0

错误报告级别

最佳实践

开发环境下打开错误报告。并且错误报告级别 E_ALL

正式环境一定要关闭错误报告//显示所有的错误类型

error_reporting(E_ALL);

//显示所有的错误类型,除了NOTICE 提示之外

error_reporting(E_ALL ^ E_NOTICE);

error_reporting(E_ALL &~ E_NOTICE);

//关闭所有的PHP错误报告

error_reporting(0);

//报告所有的错误类型

error_reporting(-1);

举例try {

//找不到文件

throw new Exception('找不到文件',1);

//没有权限访问

throw new Exception('没有权限',2);

} catch (Exception $e) {

$errno =  $e -> getCode();

if($errno == 1){

echo $e -> getFile();

}elseif($errno == 2){

echo $e -> getLine();

}

}

文件异常类class FileException extends Exception{

public function fileInfo(){

return $this->getMessage();

}

}

try {

print "open file";

throw new FileException('file does not exist');

} catch (Exception $e) {

print $e -> fileInfo();

}

捕获多个异常class FileException extends Exception{}

//文件不存在的异常

class FileNotExistException extends FileException{}

//文件权限异常

class FilePermissionException extends FileException{}

function fileHandle(){

//文件不存在

throw new FileNotExistException('file does not exist');

//文件权限异常

throw new FilePermissionException('access denied');

//其他异常

throw new FileException('other exception');

}

try {

fileHandle();

} catch (FileNotExistException $e) {

echo $e -> getMessage();

}catch(FilePermissionException $e){

echo $e -> getMessage();

}catch(FileException $e){

echo $e -> getMessage();

}

全局异常处理getCode()) {

case FileException::FILE_NOT_EXIST:

echo($e->getMessage());

break;

case FileException::FILE_PERMISSION:

echo ($e -> getMessage());

break;

}

}catch(Exception $e){

echo 'exception';

}

?>

------------------------------------------

getMessage(),$e->getFile(),$e->getLine());

}

set_exception_handler('defaultExceptionHandle');

throw new Exception('tese......');

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值