首先是try catch
临沂ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
〈?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( 文件无法找到 ); }
if(!fopen($path r )) //如果文件无法打开 抛出异常对象 { throw new Exception( 文件无法打开 ); } } ?〉
注意用$e 〉getMessage()输出异常信息
输出异常完整信息
〈?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( 文件无法找到 ); }
if(!fopen($path r )) { throw new Exception( 文件无法打开 ); } } ?〉
3 扩展异常 即自定义异常
〈?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( 文件无法找到 ); //抛出FileExistsException异常对象 }
if(!fopen($path r )) { throw new FileOpenException( 文件无法打开 ); //抛出FileOpenException异常对象
lishixinzhi/Article/program/PHP/201311/21471
SQL错误是捕获不了的,因为PHP只要成功的把SQL命令提交给了数据库服务器就算成功,至于数据库里面执行是否成功,必需在每个语句之后检测,例如:
$db=mysql_connect(...);
if (!$db){
echo '连接数据库失败,错误原因:'.mysql_error();
exit;
}
再如:
$sql='...';
$res=mysql_query($sql);
if (!$res){
echo '执行SQL语句错误,SQL语句:'.$sql.'br错误原因:'.mysql_error();
exit;
}
php访问数据库出错:Warning: mysql_fetch_array(),是参数设置错误造成的,解决方法如下:
1、首先打开电脑后,同时按住电脑键盘的【开始键】和【R键】,打开电脑的程序运行弹窗。
2、在电脑左下角弹出的程序运行弹窗中,输入字母【cmd】,然后点击【确定】按钮。
3、在弹出的运行界面中,输入【mysql -u root -p】,此时会出现属于密码的命令行,在后面输入自己数据库的密码即可。
4、数据库连接成功后,输入【show global variables like 'port';】,注意不要忘记输入最后的分号。
5、在展现出来的Mysql信息中,可以看到port的值,这个值就是本地数据库的端口号。,一般都是3306。
6、知道本地数据库端口号后,回到php代码的数据库配置中将端口号改成正确的端口号即可,这样就不会报数据库端口异常的错误了。