- 浏览: 2542990 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (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 1193wamp对于日常开发来说会增添非常大的方便 但是对于集成 ... -
[被震撼到了]我的2009年自我反省【也名10问PHP程序员】php程序员进阶篇
2012-10-29 11:22 10111.首先看了PHP的源码API函数 ,对于许多口水仗的争论一 ... -
五种常见的PHP设计模式
2012-08-15 13:37 1102原文地址:http://www.ibm.com/develop ... -
PHP的Realpath Cache
2012-07-03 09:53 3760PHP的缓存有很多种,包括输出缓冲(ob系列函数),opcod ... -
nginx+php-fmp 内存不释放
2012-06-20 11:01 5238由于服务器只有600M的内 ... -
[转]探究php底层运行机制
2012-04-17 14:36 2099http://www.myext.cn/Article/921 ... -
APC 缓存
2012-04-16 16:22 6118APC主要有两个作用,一是将php的编译缓存保存在共享内存中, ... -
【汇总】PHP-FPM 配置优化
2012-02-25 11:41 17350http://www.linuxidc.com/Linux/2 ... -
【推荐转载】谁贪占了我的系统资源 php-fpm
2012-02-16 14:12 1372测试人员向我们反映:在Facebook平台的游戏比其它平台 ... -
php代码性能分析工具:XHProf
2012-01-30 15:11 4893http://www.ooso.net/archives/52 ... -
神奇的Fastcgi_Finish_Request
2012-01-17 10:52 1257当PHP运行在FastCGI模式时,PHP FPM提供了一个名 ... -
PHP Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0 解决办法
2011-11-07 17:18 3395;extension=php_xdebug.dll z ... -
【转】php 程序员
2011-11-05 12:01 952http://www.blags.org/php-pro ... -
cookies之PHPSESSID
2011-10-24 21:52 2953// 设置str function get_cooki ... -
并发同步
2011-10-11 14:26 1453============================= ... -
PHP核心编译配置选项列表
2011-09-15 11:21 1233PHP 的编译配置详细选项 ... -
Hudson_CI:PHP持续集成
2011-09-09 16:29 3100一、持续集成的概念 概念网上很多了,这里就不再详细说了。 ... -
PHP内存溢出Allowed memory size of 解决办法
2011-07-01 12:57 20604============================All ... -
?php消息队列
2011-06-22 09:45 2442php-通过共享内存实现消息队列和进程通信的两个类 h ... -
Http Status Code/http响应状态码
2011-06-01 13:49 1331100 Continue 指示客户端应该继续请求。回送用于通 ...
相关推荐
Springboot全局异常捕获及try catch区别解析 Springboot全局异常捕获是一种机制,用于捕获并处理应用程序中的异常情况,以便提供友好的用户体验和错误处理。try catch语句是Java语言中的一种异常处理机制,用于捕获...
本示例中的"trycatch.zip"文件内容就是展示了如何在Golang中模拟`try...catch`和`try...catch...finally`。 Golang的核心错误处理方式是通过返回错误值。通常,函数会返回一个错误值,如果在执行过程中遇到问题,就...
在C#编程中,异常处理是程序健壮性的重要组成部分,`try-catch-finally`语句块就是C#提供的一种处理运行时错误的方式。它允许程序员在代码可能抛出异常的地方进行捕获并处理,确保即使在异常情况下,程序也能以一种...
在C语言中,使用goto和标签的方式模拟try catch的功能,使用setjmp和longjmp方式模拟try catch的功能,两种方式都可以使用,setjmp的方式可以支持try catch嵌套,goto的方式不支持嵌套,但是jmpbuf的开销是比较大的...
### Java中try-catch的用法详解 #### 一、基本概念 在Java编程语言中,`try-catch`结构是一种用于处理程序运行时可能出现的异常情况的重要机制。通过使用`try-catch`块,开发者可以更加精细地控制程序的行为,并...
在Visual C++(简称VC)环境下,我们可以利用`try`、`catch`关键字来实现异常处理。下面我们将深入探讨这些知识点。 首先,`try`块是异常处理的起点,它包围了可能抛出异常的代码。如果在`try`块内发生了异常,程序...
VB.NET 演示带Finally的Try Catch 异常处理用法演示,这个源码就是捕捉VB.NET运行错误的,结合了最常规的try catch组合,并且使用了Finally处理的情况,那么为什么要使用Finally呢?使用Finally的好处是,把资源释放...
**前端开源库——Trycatch详解** 在Web开发中,异常处理是确保代码健壮性和稳定性的重要环节。前端开源库Trycatch就是专为了解决这个问题而诞生的,它提供了一种基于异步领域的异常处理机制,尤其针对Node.js环境,...
在本案例中,我们关注的是一个名为“async-catch-loader”的webpack loader,它旨在自动化这个过程,即在编译阶段自动为async函数添加try/catch结构。 Webpack是前端开发中广泛使用的模块打包工具,它通过加载器...
`try-catch`语句块用于捕获和处理可能出现的异常,确保程序在遇到错误时不会立即终止,而是能够优雅地处理问题并继续执行。当一个`try`块中的代码抛出异常,相应的`catch`块将捕获该异常并执行相应的处理代码。在...
C++ 中 try catch 的用法小结 try catch 机制是 C++ 编程语言中的一种异常处理机制,它允许程序员捕捉和处理在程序执行过程中出现的异常情况。下面将详细介绍 C++ 中 try catch 的用法。 基本概念 在 C++ 中,try...
为了在不使用`try-catch`块的情况下优雅地处理这些错误,我们可以创建一个`await`包装器。这样的包装器可以帮助我们更好地管理和控制异步错误,同时保持代码的简洁性。 首先,让我们理解`async/await`的基础。`...
Java的 try 与 catch finally关键字的使用
你还可以在`try-catch-finally`结构内部嵌套另一个`try-catch-finally`结构,以处理更复杂的情况。这种方式使得异常处理更加灵活,能够针对不同层次的异常进行分别处理。 6. **throw和throws关键字** `throw`...
这里我们将探讨如何利用一个名为`trycatch`的第三方包来实现这种异常处理机制。 首先,我们来看一下`trycatch`包的核心概念。它通过创建一个`TryCatch`结构体,该结构体包含一个错误通道`errChan`用于传递捕获到的...
`try-catch`块是Java异常处理的核心部分,它允许程序员在代码可能出现问题的地方进行异常捕获和处理,避免程序因未预期的错误而崩溃。下面我们将详细讨论`try-catch`捕获异常的实例。 首先,`try`块是包含可能抛出...
JavaScript中的try catch语句是ECMAScript规范提供的异常处理机制,它允许程序捕捉执行过程中发生的错误,并执行错误处理代码,避免整个程序因为一个错误而崩溃。在JavaScript开发中,try catch语句的使用非常频繁,...
在编程领域,异常处理是确保程序健壮性的重要机制,`try-catch`语句块就是其中的关键元素。`try-catch`用于捕获并处理程序运行时可能出现的错误或异常,防止程序因未预期的状况而崩溃。然而,一个常见的疑问是:`try...