php 的异常处理try catch
来源:互联网 发布:羽戈 知乎 编辑:程序博客网 时间:2024/04/28 02:50
1.异常处理的基本概念:
代码在try代码块内执行,如果出现错误我们可以使用throw关键字抛出一个异常,程序将在catch代码块内捕获异常。
2.异常控制结构:
try{ throw new Exception('我是一个异常',1);}catch(Exception $e) { echo $e->getCode().':'.$e->getMessage;}
3.Exception类
Exception类是php为了做异常处理提供的内置类
该函数提供的方法为:
getCode(); // 返回传递给构造函数的错误码就是new Exception('我是一个异常',1);传递的第二个参数
getMessage();// 返回传递给构造函数的错误消息就是new Exception('我是一个异常',1);传递的第一个参数
getFile();// 返回产生异常代码文件的全路径
getLine();// 返回代码文件中产生异常的代码行
getTrace();// 返回一个包含产生异常的代码回退路径的数组
getTraceAsString();// 返回一个将getTrace信息格式化为字符串的信息
__toString(); // 这是php的魔术方法当我们直接打印对象的时候回调用这个函数。重要的是exception类中只有着一个方法是可以重载的。
try { if(!($fp = @fopen('aa.txt','ab'))) throw new Exception('文件打开错误',1); if(!@flock($fp,LOCK_EX)) throw new Exception('文件锁错误',2); if(!@fwrite($fp,'aaaa',4)) throw new Exception('文件写入错误',3);}catch(Exception $e) { echo '错误信息:'.$e->getMessage().'错误码:'.$e->getCode().'错误行:'.$e->getLine().'错误文件:'.$e->getFile();}
4.用户自定义异常
因为__toString()函数是可以重载的,这让我们可以很方便的实现自定义异常
<?phpclass fileOpenException extends Exception { public function __toString() { return 'FileOpen:'.$this->getMessage(); }}class fileLockException extends Exception { public function __toString() { return 'FileLock:'.$this->getMessage(); }}class fileWriteException extends Exception { public function __toString() { return 'FileWrite:'.$this->getMessage(); }}try { if(!($fp = @fopen('aa.txt','ab'))) throw new fileOpenException('文件打开错误'); if(!@flock($fp,LOCK_EX)) throw new fileLockException('文件锁错误'); if(!@fwrite($fp,'aaaa',4)) throw new fileWriteException('文件写入错误');}catch(Exception $e) { echo $e;}
- php 的异常处理try catch
- php的异常处理 try catch
- php异常处理--try,throw,catch
- php try,catch,throw异常处理
- try catch 异常处理
- try-catch异常处理
- try catch 异常处理
- 异常处理(try catch)
- 异常处理@try catch
- 异常处理try.....catch
- try catch异常处理
- try catch异常处理
- 异常处理try catch
- 异常处理的try-catch-finally语句
- 黑马程序员:try-catch异常的处理
- try catch 不到异常的处理
- 使用try...catch的处理异常机制
- Thinkphp try{}catch()异常处理的写法
- 重置 winsocks
- 嗯。嗯。嗯。
- POJ - 1094 Sorting It All Out
- Cadence中常见文件格式
- 广告:互联网公司的纽带
- php 的异常处理try catch
- oracle 数据库 建立数据库、建表空间、创建用户及授权
- POJ 1108 食物链 并查集 + 向量偏移
- WordPress做微信公众平台
- Multiple comparison
- 再起航
- 移动开发 meta参数参考
- <Linux+Qt>char*,QString,String类型的相互转换
- LDA实现