错误处理,触发,日志使用,异常机制
fopen(string $filename,string $mode)
读取资源(文件的操作,数据库的访问)--必须注意通道的打开和关闭。
file_exists(string lujing) 检查文件和目录是否存在
fclose($p);
or die(string info); exit();
错误和异常类型
error warning notice
错误:是未有面向对象之前,出现错误时的处理机制。//8/0
异常:有面向对象之后,出现错误时的处理机制。 //人有1000岁
错误处理器 ---用于处理系统错误(php定义的错误)
E_WARNING E_ERROR E_NOTICE
错误触发器 ---用于处理用户错误(用户逻辑上的错误,如年龄=1000岁时,引发的错误)
E_USER_WARNING E_USER_ERROR E_USER_NOTICE
自定义错误处理和错误触发
function my_Error(error_level,error_message,error_line,error_file,error_context)
{
error_log (string $message,3,"myerror.txt")
}
set_error_handler("my_Error",E_WARNING); //错误触发器 E_USER_WARNING
trigger_error("年龄过大",E_USER_WARNING);
函数必须有能力处理error_level,error_message(回调函数)
bool error_log (string $message,3,"myerror.txt")
\r\n :向文件中写入换行
<br/> :向html中写入换行
异常异常异常异常异常
try{
}
catch(exception1 $e) //一个try可以对应多个catch
{
...
throw e;
}
catch (exception2 $e)
{
...
}
php没有final
throw new exception("出现异常"); //$e->getMessage();返回出现异常
如果有异常抛出,那么必须有相应得捕获。否则提示Uncatched Exception
代码中出现异常,就不会执行后续代码。
exception 异常类 ---自定义异常类的使用
class MyException extends Exception{
}
顶层异常处理器
set_exception_handler('回调函数'); // 放置在异常处理代码之前
相对路径和绝对路径
../ 向上走一级