php

位置:IT落伍者 >> php >> 浏览文章

PHP5中的异常处理详解[1]


发布日期:2022年06月26日
 
PHP5中的异常处理详解[1]

首先是trycatch

〈?php

$path = D:\\\\intxt;

try //检测异常

{

file_open($path);

}

catch(Exception $e) //捕获异常

{

echo $e〉getMessage();

}

function file_open($path)

{

if(!file_exists($path)) //如果文件无法找到抛出异常对象

{

throw new Exception(文件无法找到 );

}

if(!fopen($path r)) //如果文件无法打开抛出异常对象

{

throw new Exception(文件无法打开 );

}

}

?〉

注意用$e〉getMessage()输出异常信息

输出异常完整信息

〈?php

$path = D:\\\\intxt;

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(文件无法找到 );

}

if(!fopen($path r))

{

throw new Exception(文件无法打开 );

}

}

?〉

扩展异常即自定义异常

〈?php

class FileExistsException extends Exception{} //用于处理文件不存在异常的类

class FileOpenException extends Exception{} //用于处理文件不可读异常的类

$path = D:\\\\intxt;

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(文件无法找到 ); //抛出FileExistsException异常对象

}

if(!fopen($path r))

{

throw new FileOpenException(文件无法打开 ); //抛出FileOpenException异常对象

}

}

?〉

               

上一篇:PHP5中的异常处理详解[2]

下一篇:大型Web需求解决方案 PHP定位突出