﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-手指飞扬的Blog-文章分类-java</title><link>http://www.cnitblog.com/blueyb/category/8202.html</link><description>Living is a program, programing is living.</description><language>zh-cn</language><lastBuildDate>Wed, 26 Oct 2011 22:19:20 GMT</lastBuildDate><pubDate>Wed, 26 Oct 2011 22:19:20 GMT</pubDate><ttl>60</ttl><item><title>Google App Engine 开始支持 Java</title><link>http://www.cnitblog.com/blueyb/articles/56167.html</link><dc:creator>Finger_Flying</dc:creator><author>Finger_Flying</author><pubDate>Wed, 08 Apr 2009 10:32:00 GMT</pubDate><guid>http://www.cnitblog.com/blueyb/articles/56167.html</guid><wfw:comment>http://www.cnitblog.com/blueyb/comments/56167.html</wfw:comment><comments>http://www.cnitblog.com/blueyb/articles/56167.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/blueyb/comments/commentRss/56167.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/blueyb/services/trackbacks/56167.html</trackback:ping><description><![CDATA[Google App Engine 开始支持Java了,有兴趣的去玩下,下面是一些帮助:<br><br>1. <a title="App Engine Java Overview" href="http://code.google.com/intl/zh-CN/appengine/docs/java/overview.html" target=_blank>App Engine Java Overview</a><br><br>2.<a title="中文版Google App Engine入门指南(教程完整版）" href="http://hi.baidu.com/abwl/blog/item/750052e723e14d29b8382047.html" target=_blank>中文版Google App Engine入门指南(教程完整版）</a><br><br>3.<a title="中文版Google App Engine入门指南 " accessKey=3 href="http://gae.kangye.org/gettingstarted" target=_blank>中文版Google App Engine入门指南 </a><br><br>大家开发了什么可以在下面留个链接给我看看，^ -^<br><br><br>
<img src ="http://www.cnitblog.com/blueyb/aggbug/56167.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/blueyb/" target="_blank">Finger_Flying</a> 2009-04-08 18:32 <a href="http://www.cnitblog.com/blueyb/articles/56167.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse快捷键大全</title><link>http://www.cnitblog.com/blueyb/articles/56069.html</link><dc:creator>Finger_Flying</dc:creator><author>Finger_Flying</author><pubDate>Mon, 06 Apr 2009 05:04:00 GMT</pubDate><guid>http://www.cnitblog.com/blueyb/articles/56069.html</guid><wfw:comment>http://www.cnitblog.com/blueyb/comments/56069.html</wfw:comment><comments>http://www.cnitblog.com/blueyb/articles/56069.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/blueyb/comments/commentRss/56069.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/blueyb/services/trackbacks/56069.html</trackback:ping><description><![CDATA[<p>eclipse快捷键大全<br></p>
*转载自:<a href="http://www.blogjava.net/action/articles/17339.html">http://www.blogjava.net/action/articles/17339.html</a> <br><br>
<div class=postbody><font size=2>Ctrl+1&nbsp;快速修复(最经典的快捷键,就不用多说了)<br>Ctrl+D:&nbsp;删除当前行&nbsp;<br>Ctrl+Alt+&#8595;&nbsp;复制当前行到下一行(复制增加)<br>Ctrl+Alt+&#8593;&nbsp;复制当前行到上一行(复制增加)<br>Alt+&#8595;&nbsp;当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)<br>Alt+&#8593;&nbsp;当前行和上面一行交互位置(同上)<br>Alt+&#8592;&nbsp;前一个编辑的页面<br>Alt+&#8594;&nbsp;下一个编辑的页面(当然是针对上面那条来说了)<br>Alt+Enter&nbsp;显示当前选择资源(工程,or&nbsp;文件&nbsp;or文件)的属性<br>Shift+Enter&nbsp;在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)<br>Shift+Ctrl+Enter&nbsp;在当前行插入空行(原理同上条)<br>Ctrl+Q&nbsp;定位到最后编辑的地方<br>Ctrl+L&nbsp;定位在某行&nbsp;(对于程序超过100的人就有福音了)<br>Ctrl+M&nbsp;最大化当前的Edit或View&nbsp;(再按则反之)<br>Ctrl+/&nbsp;注释当前行,再按则取消注释<br>Ctrl+O&nbsp;快速显示&nbsp;OutLine<br>Ctrl+T&nbsp;快速显示当前类的继承结构<br>Ctrl+W&nbsp;关闭当前Editer<br>Ctrl+K&nbsp;参照选中的Word快速定位到下一个<br>Ctrl+E&nbsp;快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)<br>Ctrl+/(小键盘)&nbsp;折叠当前类中的所有代码<br>Ctrl+&#215;(小键盘)&nbsp;展开当前类中的所有代码<br>Ctrl+Space&nbsp;代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)<br>Ctrl+Shift+E&nbsp;显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)<br>Ctrl+J&nbsp;正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes&nbsp;line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)<br>Ctrl+Shift+J&nbsp;反向增量查找(和上条相同,只不过是从后往前查)<br>Ctrl+Shift+F4&nbsp;关闭所有打开的Editer<br>Ctrl+Shift+X&nbsp;把当前选中的文本全部变味小写<br>Ctrl+Shift+Y&nbsp;把当前选中的文本全部变为小写<br>Ctrl+Shift+F&nbsp;格式化当前代码<br>Ctrl+Shift+P&nbsp;定位到对于的匹配符(譬如{})&nbsp;(从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)<br><br>下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)<br>Alt+Shift+R&nbsp;重命名&nbsp;(是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)<br>Alt+Shift+M&nbsp;抽取方法&nbsp;(这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)<br>Alt+Shift+C&nbsp;修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)<br>Alt+Shift+L&nbsp;抽取本地变量(&nbsp;可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)<br>Alt+Shift+F&nbsp;把Class中的local变量变为field变量&nbsp;(比较实用的功能)<br>Alt+Shift+I&nbsp;合并变量(可能这样说有点不妥Inline)<br>Alt+Shift+V&nbsp;移动函数和变量(不怎么常用)<br>Alt+Shift+Z&nbsp;重构的后悔药(Undo)<br><br>编辑<br>作用域&nbsp;功能&nbsp;快捷键&nbsp;<br>全局&nbsp;查找并替换&nbsp;Ctrl+F&nbsp;<br>文本编辑器&nbsp;查找上一个&nbsp;Ctrl+Shift+K&nbsp;<br>文本编辑器&nbsp;查找下一个&nbsp;Ctrl+K&nbsp;<br>全局&nbsp;撤销&nbsp;Ctrl+Z&nbsp;<br>全局&nbsp;复制&nbsp;Ctrl+C&nbsp;<br>全局&nbsp;恢复上一个选择&nbsp;Alt+Shift+&#8595;&nbsp;<br>全局&nbsp;剪切&nbsp;Ctrl+X&nbsp;<br>全局&nbsp;快速修正&nbsp;Ctrl1+1&nbsp;<br>全局&nbsp;内容辅助&nbsp;Alt+/&nbsp;<br>全局&nbsp;全部选中&nbsp;Ctrl+A&nbsp;<br>全局&nbsp;删除&nbsp;Delete&nbsp;<br>全局&nbsp;上下文信息&nbsp;Alt+？<br>Alt+Shift+?<br>Ctrl+Shift+Space&nbsp;<br>Java编辑器&nbsp;显示工具提示描述&nbsp;F2&nbsp;<br>Java编辑器&nbsp;选择封装元素&nbsp;Alt+Shift+&#8593;&nbsp;<br>Java编辑器&nbsp;选择上一个元素&nbsp;Alt+Shift+&#8592;&nbsp;<br>Java编辑器&nbsp;选择下一个元素&nbsp;Alt+Shift+&#8594;&nbsp;<br>文本编辑器&nbsp;增量查找&nbsp;Ctrl+J&nbsp;<br>文本编辑器&nbsp;增量逆向查找&nbsp;Ctrl+Shift+J&nbsp;<br>全局&nbsp;粘贴&nbsp;Ctrl+V&nbsp;<br>全局&nbsp;重做&nbsp;Ctrl+Y&nbsp;<br><br>&nbsp;<br>查看<br>作用域&nbsp;功能&nbsp;快捷键&nbsp;<br>全局&nbsp;放大&nbsp;Ctrl+=&nbsp;<br>全局&nbsp;缩小&nbsp;Ctrl+-&nbsp;<br><br>&nbsp;<br>窗口<br>作用域&nbsp;功能&nbsp;快捷键&nbsp;<br>全局&nbsp;激活编辑器&nbsp;F12&nbsp;<br>全局&nbsp;切换编辑器&nbsp;Ctrl+Shift+W&nbsp;<br>全局&nbsp;上一个编辑器&nbsp;Ctrl+Shift+F6&nbsp;<br>全局&nbsp;上一个视图&nbsp;Ctrl+Shift+F7&nbsp;<br>全局&nbsp;上一个透视图&nbsp;Ctrl+Shift+F8&nbsp;<br>全局&nbsp;下一个编辑器&nbsp;Ctrl+F6&nbsp;<br>全局&nbsp;下一个视图&nbsp;Ctrl+F7&nbsp;<br>全局&nbsp;下一个透视图&nbsp;Ctrl+F8&nbsp;<br>文本编辑器&nbsp;显示标尺上下文菜单&nbsp;Ctrl+W&nbsp;<br>全局&nbsp;显示视图菜单&nbsp;Ctrl+F10&nbsp;<br>全局&nbsp;显示系统菜单&nbsp;Alt+-&nbsp;<br><br>&nbsp;<br>导航<br>作用域&nbsp;功能&nbsp;快捷键&nbsp;<br>Java编辑器&nbsp;打开结构&nbsp;Ctrl+F3&nbsp;<br>全局&nbsp;打开类型&nbsp;Ctrl+Shift+T&nbsp;<br>全局&nbsp;打开类型层次结构&nbsp;F4&nbsp;<br>全局&nbsp;打开声明&nbsp;F3&nbsp;<br>全局&nbsp;打开外部javadoc&nbsp;Shift+F2&nbsp;<br>全局&nbsp;打开资源&nbsp;Ctrl+Shift+R&nbsp;<br>全局&nbsp;后退历史记录&nbsp;Alt+&#8592;&nbsp;<br>全局&nbsp;前进历史记录&nbsp;Alt+&#8594;&nbsp;<br>全局&nbsp;上一个&nbsp;Ctrl+,&nbsp;<br>全局&nbsp;下一个&nbsp;Ctrl+.&nbsp;<br>Java编辑器&nbsp;显示大纲&nbsp;Ctrl+O&nbsp;<br>全局&nbsp;在层次结构中打开类型&nbsp;Ctrl+Shift+H&nbsp;<br>全局&nbsp;转至匹配的括号&nbsp;Ctrl+Shift+P&nbsp;<br>全局&nbsp;转至上一个编辑位置&nbsp;Ctrl+Q&nbsp;<br>Java编辑器&nbsp;转至上一个成员&nbsp;Ctrl+Shift+&#8593;&nbsp;<br>Java编辑器&nbsp;转至下一个成员&nbsp;Ctrl+Shift+&#8595;&nbsp;<br>文本编辑器&nbsp;转至行&nbsp;Ctrl+L&nbsp;<br><br>&nbsp;<br>搜索<br>作用域&nbsp;功能&nbsp;快捷键&nbsp;<br>全局&nbsp;出现在文件中&nbsp;Ctrl+Shift+U&nbsp;<br>全局&nbsp;打开搜索对话框&nbsp;Ctrl+H&nbsp;<br>全局&nbsp;工作区中的声明&nbsp;Ctrl+G&nbsp;<br>全局&nbsp;工作区中的引用&nbsp;Ctrl+Shift+G&nbsp;<br><br>&nbsp;<br>文本编辑<br>作用域&nbsp;功能&nbsp;快捷键&nbsp;<br>文本编辑器&nbsp;改写切换&nbsp;Insert&nbsp;<br>文本编辑器&nbsp;上滚行&nbsp;Ctrl+&#8593;&nbsp;<br>文本编辑器&nbsp;下滚行&nbsp;Ctrl+&#8595;&nbsp;<br><br>&nbsp;<br>文件<br>作用域&nbsp;功能&nbsp;快捷键&nbsp;<br>全局&nbsp;保存&nbsp;Ctrl+X&nbsp;<br>Ctrl+S&nbsp;<br>全局&nbsp;打印&nbsp;Ctrl+P&nbsp;<br>全局&nbsp;关闭&nbsp;Ctrl+F4&nbsp;<br>全局&nbsp;全部保存&nbsp;Ctrl+Shift+S&nbsp;<br>全局&nbsp;全部关闭&nbsp;Ctrl+Shift+F4&nbsp;<br>全局&nbsp;属性&nbsp;Alt+Enter&nbsp;<br>全局&nbsp;新建&nbsp;Ctrl+N&nbsp;<br><br>&nbsp;<br>项目<br>作用域&nbsp;功能&nbsp;快捷键&nbsp;<br>全局&nbsp;全部构建&nbsp;Ctrl+B&nbsp;<br><br>&nbsp;<br>源代码<br>作用域&nbsp;功能&nbsp;快捷键&nbsp;<br>Java编辑器&nbsp;格式化&nbsp;Ctrl+Shift+F&nbsp;<br>Java编辑器&nbsp;取消注释&nbsp;Ctrl+\&nbsp;<br>Java编辑器&nbsp;注释&nbsp;Ctrl+/&nbsp;<br>Java编辑器&nbsp;添加导入&nbsp;Ctrl+Shift+M&nbsp;<br>Java编辑器&nbsp;组织导入&nbsp;Ctrl+Shift+O&nbsp;<br>Java编辑器&nbsp;使用try/catch块来包围&nbsp;未设置，太常用了，所以在这里列出,建议自己设置。<br>也可以使用Ctrl+1自动修正。&nbsp;<br><br>&nbsp;<br>运行<br>作用域&nbsp;功能&nbsp;快捷键&nbsp;<br>全局&nbsp;单步返回&nbsp;F7&nbsp;<br>全局&nbsp;单步跳过&nbsp;F6&nbsp;<br>全局&nbsp;单步跳入&nbsp;F5&nbsp;<br>全局&nbsp;单步跳入选择&nbsp;Ctrl+F5&nbsp;<br>全局&nbsp;调试上次启动&nbsp;F11&nbsp;<br>全局&nbsp;继续&nbsp;F8&nbsp;<br>全局&nbsp;使用过滤器单步执行&nbsp;Shift+F5&nbsp;<br>全局&nbsp;添加/去除断点&nbsp;Ctrl+Shift+B&nbsp;<br>全局&nbsp;显示&nbsp;Ctrl+D&nbsp;<br>全局&nbsp;运行上次启动&nbsp;Ctrl+F11&nbsp;<br>全局&nbsp;运行至行&nbsp;Ctrl+R&nbsp;<br>全局&nbsp;执行&nbsp;Ctrl+U&nbsp;<br><br>&nbsp;<br>重构<br>作用域&nbsp;功能&nbsp;快捷键&nbsp;<br>全局&nbsp;撤销重构&nbsp;Alt+Shift+Z&nbsp;<br>全局&nbsp;抽取方法&nbsp;Alt+Shift+M&nbsp;<br>全局&nbsp;抽取局部变量&nbsp;Alt+Shift+L&nbsp;<br>全局&nbsp;内联&nbsp;Alt+Shift+I&nbsp;<br>全局&nbsp;移动&nbsp;Alt+Shift+V&nbsp;<br>全局&nbsp;重命名&nbsp;Alt+Shift+R&nbsp;<br>全局&nbsp;重做&nbsp;Alt+Shift+Y</font></div>
<img src ="http://www.cnitblog.com/blueyb/aggbug/56069.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/blueyb/" target="_blank">Finger_Flying</a> 2009-04-06 13:04 <a href="http://www.cnitblog.com/blueyb/articles/56069.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java异常丢失</title><link>http://www.cnitblog.com/blueyb/articles/56048.html</link><dc:creator>Finger_Flying</dc:creator><author>Finger_Flying</author><pubDate>Sun, 05 Apr 2009 11:12:00 GMT</pubDate><guid>http://www.cnitblog.com/blueyb/articles/56048.html</guid><wfw:comment>http://www.cnitblog.com/blueyb/comments/56048.html</wfw:comment><comments>http://www.cnitblog.com/blueyb/articles/56048.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/blueyb/comments/commentRss/56048.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/blueyb/services/trackbacks/56048.html</trackback:ping><description><![CDATA[Java的异常实现也有瑕疵，用某些特殊的方式使用finally子句，就会发生这种情况：<br><br>
<p>代码：</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">&nbsp;1</span>&nbsp;<span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;ExceptionLost&nbsp;{<br></span><span style="COLOR: #008080">&nbsp;2</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">&nbsp;3</span>&nbsp;<span style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="COLOR: #808080">@param</span><span style="COLOR: #008000">&nbsp;args<br></span><span style="COLOR: #008080">&nbsp;4</span>&nbsp;<span style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;5</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;main(String[]&nbsp;args)&nbsp;{<br></span><span style="COLOR: #008080">&nbsp;6</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000">&nbsp;{<br></span><span style="COLOR: #008080">&nbsp;7</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ExceptionLost&nbsp;exLost&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;ExceptionLost();<br></span><span style="COLOR: #008080">&nbsp;8</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000">&nbsp;{<br></span><span style="COLOR: #008080">&nbsp;9</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exLost.throwV();<br></span><span style="COLOR: #008080">10</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="COLOR: #0000ff">finally</span><span style="COLOR: #000000">&nbsp;{<br></span><span style="COLOR: #008080">11</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exLost.dispose();<br></span><span style="COLOR: #008080">12</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">13</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000">&nbsp;(Exception&nbsp;e)&nbsp;{<br></span><span style="COLOR: #008080">14</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(e);<br></span><span style="COLOR: #008080">15</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">16</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">17</span>&nbsp;<span style="COLOR: #000000"><br></span><span style="COLOR: #008080">18</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;throwV()&nbsp;</span><span style="COLOR: #0000ff">throws</span><span style="COLOR: #000000">&nbsp;VeryImportantException&nbsp;{<br></span><span style="COLOR: #008080">19</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">throw</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;VeryImportantException();<br></span><span style="COLOR: #008080">20</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">21</span>&nbsp;<span style="COLOR: #000000"><br></span><span style="COLOR: #008080">22</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;dispose()&nbsp;</span><span style="COLOR: #0000ff">throws</span><span style="COLOR: #000000">&nbsp;HoHumException&nbsp;{<br></span><span style="COLOR: #008080">23</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">throw</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;HoHumException();<br></span><span style="COLOR: #008080">24</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">25</span>&nbsp;<span style="COLOR: #000000">}<br></span><span style="COLOR: #008080">26</span>&nbsp;<span style="COLOR: #000000"><br></span><span style="COLOR: #008080">27</span>&nbsp;<span style="COLOR: #000000"></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;VeryImportantException&nbsp;</span><span style="COLOR: #0000ff">extends</span><span style="COLOR: #000000">&nbsp;Exception&nbsp;{<br></span><span style="COLOR: #008080">28</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;String&nbsp;toString()&nbsp;{<br></span><span style="COLOR: #008080">29</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">A&nbsp;very&nbsp;Important&nbsp;exception!</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">30</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">31</span>&nbsp;<span style="COLOR: #000000">}<br></span><span style="COLOR: #008080">32</span>&nbsp;<span style="COLOR: #000000"><br></span><span style="COLOR: #008080">33</span>&nbsp;<span style="COLOR: #000000"></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;HoHumException&nbsp;</span><span style="COLOR: #0000ff">extends</span><span style="COLOR: #000000">&nbsp;Exception&nbsp;{<br></span><span style="COLOR: #008080">34</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;String&nbsp;toString()&nbsp;{<br></span><span style="COLOR: #008080">35</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">A&nbsp;trivial&nbsp;exception</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">36</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">37</span>&nbsp;<span style="COLOR: #000000">}</span></div>
<br><br>结果：A trivial exception<br><br>结论：从输出中可以看到VeryImportantException不见了，它被finally子句的HoHumException所取代。事实上如果从finally子句直接返<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 也会丢失异常。<br><br>Ps: 具体内容看Thanking in Java第四版268页。 
<img src ="http://www.cnitblog.com/blueyb/aggbug/56048.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/blueyb/" target="_blank">Finger_Flying</a> 2009-04-05 19:12 <a href="http://www.cnitblog.com/blueyb/articles/56048.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>