这篇文章将为大家详细讲解有关PHP出现异常,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
<?phpheader("content-type:test/html:charset=utf-8");error_reporting(-1);try { $num1 = 3; $num2 = 0; if ($num2 == 0) { throw new Exception("自定义错误"); } else { $res = $num1 / $num2; }} catch (Exception $e) { echo $e->getMessage(); // die(); // 终止异常}try { $pdo = new PDO("mysql:host=localhost;dbname=mysql", "root", "");} catch (PDOException $e) { echo $e->getMessage(); // die(); // 终止异常}// SqlFileObject相对于传统的open($filename, 'r')产生的对象的优点在于不需要打开文件句柄 不需要关闭句柄更加的方便$handle = new SplFileObject("sid_list.txt");while (!$handle->eof()) { $item = $handle->fgets();}try { $pdo = new SplFileObject("text.txt", "r"); echo "read File";} catch (Exception $e) { echo $e->getMessage(); // die(); // 终止异常}try { throw new Exception("测试异常1");} catch (Exception $e) { echo $e->getMessage(); // die(); // 终止异常 try { throw new Exception("测试异常2"); } catch (Exception $e) { echo $e->getMessage(); }}class MyException extends Exception{ public function __construct($message = "", $code = 0, $previous = null) { parent::__construct($message, $code, $previous); } public function __toString() { $message = "<h3>出现异常,如下:</h3>"; $message .= "<p>" . __CLASS__ . "[{$this->code}:{$this->message}]</p>"; return $message; } public function test() { echo "这是自定义错误"; } public function stop() { exit("异常 end..."); }}// 开始调用 MyExceptiontry { echo "出现异常啦"; throw new MyException("测试自定义异常", 3);} catch (MyException $e) { echo $e->getMessage();}// 嵌套使用 MyException 与 Exception (没有顺序)try { throw new MyException("测试自定义异常");} catch (Exception $e) { echo $e->getMessage();} catch (MyException $e) { echo $e->getMessage();}class FileException extends Exception{ public function getDetails() { switch ($this->code) { case 0: return "没有提供文件"; break; case 1: return "文件不存在"; break; case 2: return "不是一个文件"; break; case 3: return "文件不可写"; break; case 4: return "非法文件的操作模式"; break; } }}class WriteData{ private $_message = ""; private $_fp = null; public function __construct($filename = null, $mode = "w") { $this->_message = "文件:{$filename} ; 模式:{$mode}"; if (empty($filename)) throw new FileException($this->_message, 0); if (!file_exists($filename)) throw new FileException($this->_message, 1); if (!is_file($filename)) throw new FileException($this->_message, 2); // is_writable — 判断给定的文件名是否可写 if (!is_writable($filename)) throw new FileException($this->_message, 3); if (!in_array($mode, array("w", "w+", "a", "a +"))) throw new FileException($this->_message, 4); $this->_fp = fopen($filename, $mode); } public function write($data) { if (@!fwrite($this->_fp, $data . PHP_EOL)) throw new FileException($this->_message, 5); } public function close() { if ($this->_fp) { if (!fclose($this->_fp)) throw new FileException($this->_message, 6); $this->_fp = null; } } public function __destruct() { $this->close(); }}
php的框架有哪些
php的框架:1、Laravel,Laravel是一款免费并且开源的PHP应用框架。2、Phalcon,Phalcon是运行速度最快的一个PHP框架。3、Symfony,Symfony是一款为Web项目准备的PHP框架。4、Yii,Yii是一款快速、安全和专业的PHP框架。5、CodeIgniter,CodeIgniter是一款非常敏捷的开源PHP框架。6、CakePHP,CakePHP是一款老牌的PHP框架。7.Kohana,Kohana是一款敏捷但是功能强大的PHP框架。
关于“PHP出现异常”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。