- 浏览: 2509707 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (676)
- linux运维 (157)
- php (65)
- mysql (78)
- nginx (27)
- apche (18)
- framework (6)
- windows (9)
- IDE工具 (23)
- struts2 (7)
- java (13)
- 移动互联网 (14)
- memcache redis (23)
- shell基础/命令/语法 (37)
- shell (50)
- puppet (4)
- C (11)
- python (9)
- 产品经理 (27)
- Sphinx (4)
- svn (12)
- 设计构建 (12)
- 项目管理 (44)
- SEO (1)
- 网站架构 (26)
- 审时度势 (42)
- 网络 (14)
- 激发事业[书&视频] (81)
- 其它 (12)
- 摄影 (8)
- android (21)
最新评论
-
zhongmin2012:
原文的书在哪里
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
renzhengzhi:
你好,请问个问题,从master同步数据到slave的时候,s ...
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
ibc789:
你好,看了你的文章,我想请教个问题, 我在用 redis的时候 ...
redis 的两种持久化方式及原理 -
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
<?php
/*
检测(try)、抛出(throw)和捕获(catch)异常。一个 try 至少要有一个与之对应的 catch。定义多个 catch 可以捕获不同的对象。
PHP 会按这些 catch 被定义的顺序执行,直到完成最后一个为止。而在这些 catch 内,又可以抛出新的异常。
*/
/*
try {
$error = 'Always throw this error';
throw new Exception($error);
// 从这里开始,try 代码块内的代码将不会被执行
echo 'Never executed';
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
// 继续执行
echo 'Hello World';
*/
/*
try {
echo 1/0;
} catch(Exception $e) {
echo $e->getMessage();
}
*/
/*
try{
$filter = ClassLoader::getInstance($obj_filter);
self::$_cacheStore->put($cacheKeyName, $filter);
}catch(SystemException $e){
$e->message = $e->getMessage() . '[in'.__FILE__.', line:'.__LINE__.' ]';
throw $e;
}
*/
======================================
class SystemException extends Exception{
const PHP_ERROR = '100';
const FRAMEWORK_ERROR = '200';
const CACHE_ERROR = '300';
const DB_ERROR = '400';
const DAO_ERROR = '500';
public $type;
public $message;
public $id;
public function SystemException($type,$message="",$id=1000) {
$this->type = $type;
$this->message = $message;
$this->id = $id;
}
}
function get_my_uri($encode = 0, $cache = 1){
static $retval = false;
if ($cache && $retval !== false)
return $retval;
@$protocol = $_SERVER['HTTPS'] == 'on' ? 'https' : 'http';
$port = $_SERVER['SERVER_PORT'];
if ($protocol == 'http' && $port == '80')
$port = '';
else if ($protocol == 'https' && $port == '443')
$port = '';
else
$port = ":$port";
@$http_host = $_SERVER['SERVER_NAME'];
$request_uri = $_SERVER['REQUEST_URI'];
$retval = "$protocol://$http_host$port$request_uri";
if ($encode)
$retval = urlencode($retval);
return $retval;
}
try{
$error = 'Always throw this error';
throw new SystemException($error);
echo 'Never executed';
}catch(SystemException $e){
$msg = "Error request url:" . get_my_uri();
$msg .= "\nSystemException";
$msg .= "\nID:". $e->id;
$msg .= "\nTYPE:". $e->type;
$msg .= "\nMESSAGE:" . $e->message;
$msg .= "\n";
echo $msg;
// log_error($msg);
//header_to('error.htm')
}
?>
发表评论
-
wamp 升级php apache mysql
2014-02-18 14:30 1134wamp对于日常开发来说会增添非常大的方便 但是对于集成 ... -
[被震撼到了]我的2009年自我反省【也名10问PHP程序员】php程序员进阶篇
2012-10-29 11:22 9681.首先看了PHP的源码API函数 ,对于许多口水仗的争论一 ... -
五种常见的PHP设计模式
2012-08-15 13:37 1051原文地址:http://www.ibm.com/develop ... -
PHP的Realpath Cache
2012-07-03 09:53 3687PHP的缓存有很多种,包括输出缓冲(ob系列函数),opcod ... -
nginx+php-fmp 内存不释放
2012-06-20 11:01 5185由于服务器只有600M的内 ... -
[转]探究php底层运行机制
2012-04-17 14:36 2060http://www.myext.cn/Article/921 ... -
APC 缓存
2012-04-16 16:22 6069APC主要有两个作用,一是将php的编译缓存保存在共享内存中, ... -
【汇总】PHP-FPM 配置优化
2012-02-25 11:41 17285http://www.linuxidc.com/Linux/2 ... -
【推荐转载】谁贪占了我的系统资源 php-fpm
2012-02-16 14:12 1327测试人员向我们反映:在Facebook平台的游戏比其它平台 ... -
php代码性能分析工具:XHProf
2012-01-30 15:11 4840http://www.ooso.net/archives/52 ... -
神奇的Fastcgi_Finish_Request
2012-01-17 10:52 1214当PHP运行在FastCGI模式时,PHP FPM提供了一个名 ... -
PHP Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0 解决办法
2011-11-07 17:18 3350;extension=php_xdebug.dll z ... -
【转】php 程序员
2011-11-05 12:01 915http://www.blags.org/php-pro ... -
cookies之PHPSESSID
2011-10-24 21:52 2907// 设置str function get_cooki ... -
并发同步
2011-10-11 14:26 1414============================= ... -
PHP核心编译配置选项列表
2011-09-15 11:21 1198PHP 的编译配置详细选项 ... -
Hudson_CI:PHP持续集成
2011-09-09 16:29 3053一、持续集成的概念 概念网上很多了,这里就不再详细说了。 ... -
PHP内存溢出Allowed memory size of 解决办法
2011-07-01 12:57 20542============================All ... -
?php消息队列
2011-06-22 09:45 2370php-通过共享内存实现消息队列和进程通信的两个类 h ... -
Http Status Code/http响应状态码
2011-06-01 13:49 1281100 Continue 指示客户端应该继续请求。回送用于通 ...
相关推荐
java中try catch的用法 java try catch的用法 java中 try catch的用法
在C语言中,使用goto和标签的方式模拟try catch的功能,使用setjmp和longjmp方式模拟try catch的功能,两种方式都可以使用,setjmp的方式可以支持try catch嵌套,goto的方式不支持嵌套,但是jmpbuf的开销是比较大的...
异常处理try catch在vc中的用法.zip visual c++ try catch处理异常
主要介绍了Springboot全局异常捕获及try catch区别解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
用vb.net实现的对Try Catch对程序性能的影响的测试
C++语言处理异常 try catch throw,带程序例子
基于Golang, 技巧性的实现Try...Catch...和Try...Catch...Finally..., 一点小小的思路,
一个自动给 async 函数注入 try/catch 的 webpack loader
这个能便于开发者开发代码,迅速生成代码,希望大家多多下载。
java try…catch嵌套捕获异常的实例 java try…catch嵌套捕获异常的实例
Mssql 存储过程Try Catch 示例
如何编写没有TryCatch的程序如何编写没有TryCatch的程序如何编写没有TryCatch的程序如何编写没有TryCatch的程序如何编写没有TryCatch的程序
await 包装器以便在没有try-catch的情况下更容易地处理错误
通过运行代码的时间来查看try catch是否影响系统效率或者影响的程度
Java的 try 与 catch finally关键字的使用
社区不少人在谈论 golang 为毛不用trycatch模式,而采用苛刻的recovery、panic、defer组合…. 从网上整了一个trycatch包,感觉不错,拿出来分享下…下面话不多说,来一起看看详细的介绍。 示例代码 package main ...
java try…catch捕获异常的实例 java try…catch捕获异常的实例
异常检测;使用TRY CATCH语句进行异常处理。
主要介绍了c++中try catch的用法小结,需要的朋友可以参考下