PHP中入异常处理 抛出异常,try catch 捕捉进行处理
来源:互联网 发布:碧凡化妆品专营店 知乎 编辑:程序博客网 时间:2024/06/03 15:59
/** * PHP中入异常处理 抛出异常,try catch 捕捉进行处理 */try{ $a = 0; if ($a < 1) { throw new Exception(" $a < 1"); } } catch(Exception $e) { echo $e->getMessage();}
/** * 自定义一个异常处理类 */class MyException extends Exception{ // 重定义构造器使 message 变为必须被指定的属性 public function __construct($message, $code = 0) { // 自定义的代码 // 确保所有变量都被正确赋值 parent::__construct($message, $code); } // 自定义字符串输出的样式 public function __toString() { return __CLASS__ . ": [{$this->code}]: {$this->message}\n"; } public function customFunction() { echo "A Custom function for this type of exception\n"; }}/** * 创建一个用于测试异常处理机制的类 */class TestException{ public $var; const THROW_NONE = 0; const THROW_CUSTOM = 1; const THROW_DEFAULT = 2; function __construct($avalue = self::THROW_NONE) { switch ($avalue) { case self::THROW_CUSTOM: // 抛出自定义异常 throw new MyException('1 is an invalid parameter', 5); break; case self::THROW_DEFAULT: // 抛出默认的异常 throw new Exception('2 isnt allowed as a parameter', 6); break; default: // 没有异常的情况下,创建一个对象 $this->var = $avalue; break; } }}// 例子 1try { $o = new TestException(TestException::THROW_CUSTOM);} catch (MyException $e) { // 捕获异常 echo "Caught my exception\n", $e; $e->customFunction();} catch (Exception $e) { // 被忽略 echo "Caught Default Exception\n", $e;}// 执行后续代码var_dump($o);echo "\n\n";// 例子 2try { $o = new TestException(TestException::THROW_DEFAULT);} catch (MyException $e) { // 不能匹配异常的种类,被忽略 echo "Caught my exception\n", $e; $e->customFunction();} catch (Exception $e) { // 捕获异常 echo "Caught Default Exception\n", $e;}// 执行后续代码var_dump($o);echo "\n\n";// 例子 3try { $o = new TestException(TestException::THROW_CUSTOM);} catch (Exception $e) { // 捕获异常 echo "Default Exception caught\n", $e;}// 执行后续代码var_dump($o);echo "\n\n";// 例子 4try { $o = new TestException();} catch (Exception $e) { // 没有异常,被忽略 echo "Default Exception caught\n", $e;}// 执行后续代码var_dump($o);echo "\n\n";
- PHP中入异常处理 抛出异常,try catch 捕捉进行处理
- php try() catch() : 捕捉异常,抛出异常
- throw在try中抛出异常,然后用catch捕捉并处理这个异常,同时catch也可以再次抛出这个异常
- Java try-catch-finally进行异常处理以及throw主动抛出异常
- try catch 异常处理
- try-catch异常处理
- try catch 异常处理
- 异常处理(try catch)
- 异常处理@try catch
- 异常处理try.....catch
- try catch异常处理
- try catch异常处理
- 异常处理try catch
- Java异常处理中try{}catch抛出异常,后面代码还会继续执行么?
- JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
- JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
- JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗
- JAVA 语言如何进行异常处理,关键字:throws,throw,try,catch,finally 分别代表什么意义?在 try 块中可以抛出异常吗?
- OpenMP
- 最小的php框架
- shell: sed使用方法
- 云计算下的虚拟存储研究及应用
- 编程实际遇到的奇葩系统现象总结
- PHP中入异常处理 抛出异常,try catch 捕捉进行处理
- Java Coding Standards rules
- 云计算中存储必备的 9 大要素
- mysql replace into用法详细说明
- ElasticSearch相关软件下载地址
- Shell中脚本变量和函数变量的作用域
- Appache HTTP Server相关配置项的修改
- POJ 1573 Robot Motion
- 23种设计模式 之 Template模式(模板模式)[C语言]