PHP教程之php5异常处置详解
在学习HTML中我想边学边做是最有效的方式,当然这一方式对于学习PHP同样是最有效的。 1 起首是try,catch<?php
$path = "D:\\\\in.txt";
try //检测异常
{
file_open($path);
}
catch(Exception $e) //捕捉异常
{
echo $e->getMessage();
}
function file_open($path)
{
if(!file_exists($path)) //假如文件没法找到,抛出异常对象
{
throw new Exception("文件没法找到", 1);
}
if(!fopen($path, "r")) //假如文件没法翻开,抛出异常对象
{
throw new Exception("文件没法翻开", 2);
}
}
?>
注重用$e->getMessage()输入异常信息.
2 输入异常完全信息
<?php
$path = "D:\\\\in.txt";
try
{
file_open($path); //测验考试翻开文件
}
catch(Exception $e)
{
echo "异常信息:".$e->getMessage()."\\n"; //前往用户自界说的异常信息
echo "异常代码:".$e->getCode()."\\n"; //前往用户自界说的异常代码
echo "文件名:".$e->getFile()."\\n"; //前往产生异常的PHP法式文件名
echo "异常代码地点行".$e->getLine()."\\n"; //前往产生异常的代码地点行的行号
echo "传递线路:";
print_r($e->getTrace()); //以数组模式前往跟踪异常每步传递的线路
echo $e->getTraceAsString(); //前往格局化成字符串的getTrace函数信息
}
function file_open($path)
{
if(!file_exists($path)) //假如文件不存在,则抛失足误
{
throw new Exception("文件没法找到", 1);
}
if(!fopen($path, "r"))
{
throw new Exception("文件没法翻开", 2);
}
}
?>
扩大异常,即自界说异常
<?php
class FileExistsException extends Exception{} //用于处置文件不存在异常的类
class FileOpenException extends Exception{} //用于处置文件不成读异常的类
$path = "D:\\\\in.txt";
try
{
file_open($path);
}
catch(FileExistsException $e) //假如发生FileExistsException异常则提醒用户确认文件地位
{
echo "法式在运转过程当中产生了异常:".$e->getMessage()."\\n";
echo "请确认文件地位。";
}
catch(FileOpenException $e) //假如发生FileOpenException异常则提醒用户确认文件的可读性
{
echo "法式在运转过程当中产生了异常:".$e->getMessage()."\\n";
echo "请确认文件的可读性。";
}
catch(Exception $e)
{
echo "[未知异常]";
echo "异常信息:".$e->getMessage()."\\n"; //前往用户自界说的异常信息
echo "异常代码:".$e->getCode()."\\n"; //前往用户自界说的异常代码
echo "文件名:".$e->getFile()."\\n"; //前往产生异常的PHP法式文件名
echo "异常代码地点行".$e->getLine()."\\n"; //前往产生异常的代码地点行的行号
echo "传递线路:";
print_r($e->getTrace()); //以数组模式前往跟踪异常每步传递的线路
echo $e->getTraceAsString(); //前往格局化成字符串的getTrace函数信息
}
function file_open($path)
{
if(!file_exists($path))
{
throw new FileExistsException("文件没法找到", 1); //抛出FileExistsException异常对象
}
if(!fopen($path, "r"))
{
throw new FileOpenException("文件没法翻开", 2); //抛出FileOpenException异常对象
}
}
?>
4 重抛异常给下层
<?php
class FileExistsException extends Exception{} //用于处置文件不存在异常的类
class FileOpenException extends Exception{} //用于处置文件不成读异常的类
$path = "D:\\\\in.txt";
try
{
file_open($path);
}
catch(FileExistsException $e) //假如发生FileExistsException异常则提醒用户确认文件地位
{
echo "法式在运转过程当中产生了异常:".$e->getMessage()."\\n";
echo "请确认文件地位。";
}
catch(FileOpenException $e) //假如发生FileOpenException异常则提醒用户确认文件的可读性
{
echo "法式在运转过程当中产生了异常:".$e->getMessage()."\\n";
echo "请确认文件的可读性。";
}
catch(Exception $e)
{
echo "[未知异常]";
echo "异常信息:".$e->getMessage()."\\n"; //前往用户自界说的异常信息
echo "异常代码:".$e->getCode()."\\n"; //前往用户自界说的异常代码
echo "文件名:".$e->getFile()."\\n"; //前往产生异常的PHP法式文件名
echo "异常代码地点行".$e->getLine()."\\n"; //前往产生异常的代码地点行的行号
echo "传递线路:";
print_r($e->getTrace()); //以数组模式前往跟踪异常每步传递的线路
echo $e->getTraceAsString(); //前往格局化成字符串的getTrace函数信息
}
function file_open($path)
{
try
{
if(!file_exists($path))
{
throw new FileExistsException("文件没法找到", 1);
}
if(!fopen($path, "r"))
{
throw new FileOpenException("文件没法翻开", 2);
}
}
catch(Exception $e) //捕捉异常
{
echo "file_open函数在运转过程当中呈现异常";
throw $e; //重掷异常
}
}
?>
大部分语言的基础,不是说c有多好,而是c相对起手容易学,让你认为这个是编程语言, 兴趣是最好的老师,百度是最好的词典。 Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81 建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。 遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。 要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。 不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。 再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。 最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。 使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的 我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。 这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己 建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。 使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。 首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。 兴趣是最好的老师,百度是最好的词典。 刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。 遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。 如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
页:
[1]