标题：Exception
Java Exception 机制
为什么要自定义自己的Exception ，Java Exception机制与传统的C语言的异常处理机制有什么不同，这种Exception机制的意义在什么地方？接下来咱就来和你一起探讨Exception 的优缺点。 
早期的C语言的异常处理机制，通常是我们人为的对返回结果加一些标志来进行判定，比如发生错误返回什么标志，正常情况下我们又是返回什么标记，而这些都不是语言本身所赋予我们的，而对于C语言这种机制又有什么问题哩？为什么新一代的语言 Java Ruby C# 等都用Exception机制而不是维持C语言的老样子？这些都是我们需要思考的问题。 
C语言的异常处理机制全是我们人为的定义，这样就会造成业务逻辑的主线受到异常处理的牵制，或者说是我们难免会将注意力转移，并且造成业务逻辑与异常处理之间有很大程度上的缠绕。中止模型假设错误非常严重，已至你无法在回到错误发生的地方，也就是说，这段程序经过判断认为，他已经没有办法挽回，于是就抛出异常，希望这个异常不要在回来，这也是Java 当前所采用的模式。继续模型这种模型的主旨是恢复当前的运行环境，然后希望能够重新回到错误的发生地，并希望第二次的尝试能够获得成功，这种模型通常为操作系统所应用。
字根词源
cap/cep/cip/ceive=to take 取，拿 
来源于拉丁文capere,"take,seize"。captor（n.捕捉者,捕快）会capture(v.俘获,捕获)captive 
(n.俘虏,被捕捉的人或动物);如果你的心被取走了,那叫做captive(v.迷惑,迷住);ex-外+cept取-> 
取出来->except除...之外；anti-之前+cip取+-ate动词后缀->之前就取得了->anticipate 语气， 
预料
Java Exception 的好处及用法
Java Exception 好处
让异常处理与业务逻辑的主线分离，我们可以对可以遇见的异常作分支处理，其实将业务逻辑与异常处理分离也是Exception设计的主旨，其次Java Exception 不需要像C语言那样在程序的多个地方去检测同一个错误，并就地作异常的处理，相比老式的错误处理，现在的错误处理的结构则来的更加清晰。
Java Exception 用法
public class T {
UserManager manager = new UserManager();
public void testloadUser(String username, String password, String name, String email) {
try {
manager.loadUser(username);
}
catch (UserNotFoundException unfe) {
}
}
}
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class UserManager {
public User loadUser(String username) throws UserNotFoundException {
Connection con = null;
PreparedStatement pstmt = null;
try {
pstmt = con.prepareStatement("select User form user where id=1");
pstmt.setString(1, username);
ResultSet rs = pstmt.executeQuery();
if (!rs.next()) {
throw new UserNotFoundException();
}
return null;
} catch (SQLException ex) {
return null;
}
}
}
class User {
}
public class UserNotFoundException extends Exception {
private Throwable nestedThrowable = null;
public UserNotFoundException() {
super();
}
public UserNotFoundException(String msg) {
super(msg);
}
}
在这里我们自定义了自己的UserNotFoundException异常，这样在客户调用loadUser()方法的时候Java就可以强制检测到这个UserNotFoundException异常，这样我们就可以作相应的处理工作，在这里应该可以看到testloadUser这里对UserNotFoundException这个异常有一个分支处理，这样的异常分支处理是不是很清晰哩，在此我不对他作解释，因为实在比较简单，其实美好的东西在我看来都有一个度，当这个度被你所打破后，那么他将不会再美好，Exception机制的应用也是，而这个度就需要你自己在实际项目中去斟酌了，接下来我就会阐述Exception的缺点。 
Java 有将受控异常和运行时异常模型都实现，Rod Johnson认为在Java中主要实现运行时异常模型，至于受控异常则为辅，而Bruce Eckel则来的更为偏激一些，他认为Java只需要实现运行时异常模型，而受控异常没有必要继续存在，为什么他们都这么认为哩，而且Bruce Eckel 之前很是推崇受控异常地，其实也没那么多为什么，这些思维的改变不过就是他们在实践当中发现了很多问题且对Exception 认识也更深刻了呗，所以说大师不是天生的，大师也需要学习，在这里我更赞成Rod Johnson 对Exception的观点，OK，废话我也不多说了，说说我认识中的Java Exception 缺点！
1 、当一个方法中被过多的抛出受控异常，那么在别人调用的时候会造成try/catch语句的泛滥，甚至经常出现嵌套异常，使得代码的可读性下降。
2、在某些方面检测系统的异常也并没有实际的意义，因为当出现这种异常的时候一般代表问题很严重我们无法恢复，如：捕获数据库SQLException异常，该异常对我们来说没太大意义，因为错误信息太模糊，通常都是一些堆栈上的信息，看Rod Johnson 设计的关于JDBC方面的Exception Framework相信会对您产生很大的触动。
3、在大型系统中受控异常同时会造成异常处理类的泛滥，其实本人并没有介入过什么大型的Java 系统的设计工作，所以我也无从对这指三道四，没有实践就没有发言权，但我在一般的系统已经多少看到了一些这样的问题。
最后希望我的这篇解说能够进一步的增加你对 Java Exception 机制的了解，如果您还是不太清楚Exception机制，那么我推荐你看 《Thinking in Java》 这本书的第三版以及Rod Johnson的 expert one on one 系列书籍
Net中Exception的做法
建立Exception 时建议日常开发中需要注意以下几点：
一、Throw new exception
曾经看过有人在简单的函数内疯狂的使用throw new 参与业务逻辑。比如，以下代码：
逻辑类似以上代码，就是一个单一的函数，每当我看到这样的单一函数，总是觉得很奇怪。或许是自身水平有限，似乎难以理解为了catch住一个exception对象需要那么大费周章的去throw new 么?个人认为如果某方法内嵌套的方法根据业务逻辑主动抛出异常，让外层方法截获到这个异常，此时被嵌套的方法方可使用throw new ....
二、抛出不该抛出的Exception
上文中的DoSomeThing函数如果在catch时不进一步封装，直接把Excepiton抛到UI层，又或者直接显示给客户。如果异常堆栈中提示某些敏感数据。比如SQL查询语句、WebService
URI或POST信息等。这些敏感信息应该永远不让客户知道，暴露出这些信息有可能对系统造成潜在安全隐患!
类似以上机制，如果异常出现了，我认为可以大大减少debug的时间。 [1]
女装品牌
品牌简介设计师品牌例外女装广州市例外服饰有限公司创立于一九九六年，广州市例外服饰有限公司主要设计师品牌例外女装经营服饰及文化生活等用品，广州市例外服饰有限公司是一家集服装设计生产、销售于一体的具有先进经营理念的企业。广州市例外服饰有限公司现有员工约400人，实行总经理负责制，下设设计研发中心、营销管理中心、产品供应中心、品质管理部、人力资源部、财务部六大部门，下属有北京分公司、上海分公司、状态国际发展（香港）有限公司、状态服装设计（珠海）有限公司。旗下品牌“例外（EXCEPTION de MIXMIND）”已是中国现存最长亦是最成功的女装设计师品牌，同时例外代理了国际品牌如：意大利男装品牌C.P. COMPANY、 STONE ISLAND及西班牙知名品牌KOWALSKI等。 　　1994年 艺术总监马可（创始人）参加兄弟杯国际青年服装设计师大赛，以“秦俑”系列获大赛唯一金奖 1995年 被日本《朝日新闻》评为“中国五佳”设计师之一 1997年 作为中国4个代表设计师之一，入选澳大利亚悉尼博物馆举行的“中国服装三百年”大型服装展览，代表中国现代部分 1998年 参加CHIC98，获“最佳设计”及“最佳品质”双金奖 1999年 艺术总监马可小姐被美国《The Four Seasons》杂志评为亚洲“十佳”青年设计师赴巴黎参加“99巴黎中国文化周”时装表演，作为中国3个代表设计师之一，代表中国现代部分 2002年 荣获兄弟杯中国国际青年服装设计师作品大赛组委会颁发的“事业成就奖” 作为中国首个服饰品牌受巴黎女装协会邀请，出席全球最大最高级的成衣展（PRET- A-PORTER PARIS） 2003年 作为中国纺织协会组织的“国际团”成员之一应邀参加全球最大的成衣展—德国CPD成衣展 2004年 荣获上海国际服装文化节TOP10时装设计师杰出贡献奖 荣获中国时装周组委会/中国服装师设计协会年度“中国最具时尚女装品牌”大奖 在中国国际时装周上举办“例外”品牌05春夏时装发布会新世界百货集团“最佳成长奖” 2005年 荣获“蓝地”·北京·中国服装设计金龙奖之最佳原创奖荣获上海国际服装文化节十大时尚新锐奖荣获首届中国服装协会主办的“2003－2004中国服装品牌年度大奖” 在中国质量监督管理协会、中国质量标准研究中心、中国消费日报社“中国市场消费商品质量、信誉、竞争力调查”中获“同行业知名品牌/领导品牌”称号 “例外”成立九年来，不断学习、吸收国际先进管理经验并结合自身的特点，一直秉持东方本土文化的原创精神，持续的创新和经营，凝聚注重精神追求的实现信仰的巨大价值。品牌文化EXCEPTION de MIXMIND（中文名：例外）
是中国现存时间最长亦是最成功的原创文化品牌
目前在全国各大城市拥有约90多家专卖店
例外相信女人没有缺点只有特点，衣服是表达个人意识与品味素养的媒介
例外为当代中国女性展示一种现代的生活意识：知性而向往心灵自由
独立并且热爱生活；对艺术、文学、思潮保持开放的胸襟
从容面对自己、面对世界，懂得享受生活带给她的一切并游纫自如
凭藉其特立独行的哲学思考与美学追求，例外成功地打造了一种东方哲学式的当代生活艺术
更赢得海内外各项殊荣与无数忠诚顾客的爱戴。
EXCEPTION de MIXMIND的logo  EXCEPTION de MIXMIND的logo
反的，其内涵是外反内正
她反的是那些束缚在创新上的旧框框、市场上的惯性，她提倡的是反向思维
她更关注自身内在的正面需求，更注重对生命、生活、生态正面主张的坚守[2]