锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲成a人片在线不卡,国产AV无码专区亚洲AVJULIA,久久久久亚洲AV成人片http://www.tkk7.com/ilovebabyfat/category/48843.html鍨冨溇鍫?/description>zh-cnWed, 25 Apr 2012 02:37:28 GMTWed, 25 Apr 2012 02:37:28 GMT60Eclipse鎻掍歡http://www.tkk7.com/ilovebabyfat/archive/2012/02/20/370345.html鎬濇棤鎬濇棤Mon, 20 Feb 2012 06:25:00 GMThttp://www.tkk7.com/ilovebabyfat/archive/2012/02/20/370345.htmlhttp://www.tkk7.com/ilovebabyfat/comments/370345.htmlhttp://www.tkk7.com/ilovebabyfat/archive/2012/02/20/370345.html#Feedback0http://www.tkk7.com/ilovebabyfat/comments/commentRss/370345.htmlhttp://www.tkk7.com/ilovebabyfat/services/trackbacks/370345.html1. http://download.eclipse.org/windowbuilder/WB/integration/3.7/
1.http://code.google.com/p/visualswing4eclipse/
2涓敤浜嶫2SE swing涔嬬被鐨勬闈㈢紪紼嬨?br />
2. doxygen    http://www.stack.nl/~dimitri/doxygen/
鑳芥牴鎹」鐩殑婧愭枃浠訛紝鑷姩鐢熸垚姣旇緝瀹屾暣鐨勬枃妗o紝鍖呮嫭綾誨眰嬈″浘
3. open explorer   http://blog.samsonis.me/2009/02/open-explorer-plugin-for-eclipse/
鍙互鍦╡clipse涓瘮杈冩柟渚跨殑鎵撳紑鏈湴鏂囦歡澶?/div>

鎬濇棤 2012-02-20 14:25 鍙戣〃璇勮
]]>
IE闀挎椂闂寸瓑寰呮湇鍔″櫒鍝嶅簲錛屾樉紺洪〉闈㈡棤娉曟樉紺虹殑闂http://www.tkk7.com/ilovebabyfat/archive/2011/08/07/355967.html鎬濇棤鎬濇棤Sun, 07 Aug 2011 14:12:00 GMThttp://www.tkk7.com/ilovebabyfat/archive/2011/08/07/355967.htmlhttp://www.tkk7.com/ilovebabyfat/comments/355967.htmlhttp://www.tkk7.com/ilovebabyfat/archive/2011/08/07/355967.html#Feedback0http://www.tkk7.com/ilovebabyfat/comments/commentRss/355967.htmlhttp://www.tkk7.com/ilovebabyfat/services/trackbacks/355967.html寮濮嬩互涓烘槸session鐨勮秴鏃訛紝浜庢槸鍦ㄩ〉闈腑娣誨姞浜哸jax鍘誨畾鏈熷彂閫佽姹傜粰鏈嶅姟鍣ㄧ殑浠g爜鏉ョ淮鎸乻ession錛?闂鏃犳硶瑙e喅銆?br />鐒跺悗浠ヤ負鏄〉闈㈢紦瀛樼殑闂錛屽湪璇鋒眰涓姞浜嗛殢鏈虹殑鏁板瓧錛屾煡鐪嬫瘡嬈¤姹傚洖鏉ョ殑鍝嶅簲澶寸姸鎬侀兘鏄?00鐨勶紝闂浠嶆棫鏃犳硶瑙e喅銆?br />緇х畫鐧懼害錛岀戶緇胺姝屻?br />鎼滅儲鍒癿icrosoft鐨勪竴綃囨枃绔狅紝濡備笅
http://support.microsoft.com/kb/181050 

Internet Explorer error "connection timed out" when server does not respond
闂寰楀埌瑙e喅銆?br />鍏跺疄鍙互璇撮棶棰樻棤娉曞緱鍒拌В鍐熾傛垜鎬庝箞鍙兘璁╂瘡涓敤鎴峰幓淇敼浠栦滑鐨勬敞鍐岃〃涔堛?br />
鐪嬫潵鍙兘閲囧彇寮傛鐨勮姹傛柟寮忎簡銆?/span>



鎬濇棤 2011-08-07 22:12 鍙戣〃璇勮
]]>
JAVA to JSON 閬垮厤寰幆寮曠敤閫犳垚姝誨驚鐜?/title><link>http://www.tkk7.com/ilovebabyfat/archive/2011/07/20/354719.html</link><dc:creator>鎬濇棤</dc:creator><author>鎬濇棤</author><pubDate>Wed, 20 Jul 2011 08:14:00 GMT</pubDate><guid>http://www.tkk7.com/ilovebabyfat/archive/2011/07/20/354719.html</guid><wfw:comment>http://www.tkk7.com/ilovebabyfat/comments/354719.html</wfw:comment><comments>http://www.tkk7.com/ilovebabyfat/archive/2011/07/20/354719.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/ilovebabyfat/comments/commentRss/354719.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/ilovebabyfat/services/trackbacks/354719.html</trackback:ping><description><![CDATA[<div> <div style="position: relative; padding: 0px 3px; clear: both;" id="Normalcontent"> <div style="margin-left: 12px;" id="imcontent"><span> <div style="direction: ltr; color: #000000; font-size: 9pt;"> <div>JsonConfig config = new JsonConfig();<br />  config.setJsonPropertyFilter(new PropertyFilter() {<br />   public boolean apply(Object source, String name, Object value) {<br />    if (name.equals("form") || name.equals("formElm")   ) {<br />     return true;<br />    } else {<br />     return false;<br />    }<br />   }<br />  });<br />  <br />  JSONObject jsonObject = JSONObject.fromObject( form, config );</div></div></span></div></div></div><img src ="http://www.tkk7.com/ilovebabyfat/aggbug/354719.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/ilovebabyfat/" target="_blank">鎬濇棤</a> 2011-07-20 16:14 <a href="http://www.tkk7.com/ilovebabyfat/archive/2011/07/20/354719.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Actuate浣跨敤鎬葷粨http://www.tkk7.com/ilovebabyfat/archive/2011/06/29/353346.html鎬濇棤鎬濇棤Wed, 29 Jun 2011 05:28:00 GMThttp://www.tkk7.com/ilovebabyfat/archive/2011/06/29/353346.htmlhttp://www.tkk7.com/ilovebabyfat/comments/353346.htmlhttp://www.tkk7.com/ilovebabyfat/archive/2011/06/29/353346.html#Feedback0http://www.tkk7.com/ilovebabyfat/comments/commentRss/353346.htmlhttp://www.tkk7.com/ilovebabyfat/services/trackbacks/353346.html

Actuate 綆鍗曟姤琛ㄧ殑寤虹珛榪囩▼

1錛?1. 鎵撳紑 e.report 閫夋嫨new report


2錛?2.閫夋嫨絀虹櫧鎶ヨ〃


3錛?3. 寤虹珛鏁版嵁搴撹繛鎺ャ?/span>Toolsà Database Connection


4錛?4. 濉啓鍙傛暟


5錛?5. 鍙屽嚮datasource , 濉啓鏌ヨ鍙傛暟


6錛?6. 閫変腑Content, Tool--銆?span style="font-family: Wingdings;"> Grouping, 璁劇疆鏁翠釜鎶ヨ〃鐨?/span>group錛?/span>1灞?/span>or n灞傘?/span>


7錛?7. 鍗曞嚮grouping option,璁劇疆group鐨勬樉紺猴紝鏄惁闇瑕?/span>befer,after絳夛紝姣忎釜group闇瑕佸崟鐙緗?/span>


8錛?nbsp; 8. 璁劇疆鍚勭欏甸潰鐨勬帶浠?/span>


9錛?9. 璁劇疆鍙傛暟錛岃繖浜涘弬鏁板彲浠ョ敤鍦ㄦ姤琛ㄦ帶鍒朵笂鎴栨槸鏌ヨ鐨勫弬鏁?/span>Tools -- Parameters


淇敼鍚庣殑鏌ヨ瀛楁

select fund_id,fund_name,fund_abbreviation,fund_mode,rule_id from te_fund where fund_mode=:fundmode

鍙傛暟10. 鐢ㄦ潵鎺у埗欏甸潰鏄劇ず

宸?/span>label涓轟緥瀛愶紝閲嶅啓OnRow鏂規硶

   

Sub OnRow( row As AcDataRow )
    Super::OnRow( row )
    
if fundmode="M" then
         me.Text 
= "Manual Fund Name"
    
else
         me.Text 
= "Auto Fund Name"
    
end if
End Sub

11. 鐢?/span>datasource涓殑鏁版嵁鎺у埗欏甸潰

Sub OnRow( row As AcDataRow )
 Super::OnRow( row )
    
If row.GetValue("DR_SHORT_FLAG"=0 Then
     me.Text 
= "BUY BACK"
    
ElseIf row.GetValue("DR_SHORT_FLAG"=1 Then
     me.Text 
= "Sell to Open"
    
End if
End Sub

 



鎬濇棤 2011-06-29 13:28 鍙戣〃璇勮
]]>
(杞?J2EE欏圭洰寮傚父澶勭悊http://www.tkk7.com/ilovebabyfat/archive/2011/06/27/353073.html鎬濇棤鎬濇棤Mon, 27 Jun 2011 08:02:00 GMThttp://www.tkk7.com/ilovebabyfat/archive/2011/06/27/353073.htmlhttp://www.tkk7.com/ilovebabyfat/comments/353073.htmlhttp://www.tkk7.com/ilovebabyfat/archive/2011/06/27/353073.html#Feedback0http://www.tkk7.com/ilovebabyfat/comments/commentRss/353073.htmlhttp://www.tkk7.com/ilovebabyfat/services/trackbacks/353073.htmlhttp://www.iteye.com/topic/72170
鍏充簬j2ee欏圭洰涓紓甯哥殑綆$悊鍜岃璁°備箣鍓嶄竴鐩村洶鎯戜簬寮傚父鐨勫鐞嗭紝涓轟粈涔堝紓甯稿垎涓篶hecked鍜寀ncheck錛屽簲璇ラ伒寰庢牱鐨勮鍒欒嚜瀹氫箟寮傚父銆傚湪j2ee欏圭洰涓紝澶勭悊寮傚父闇瑕佹敞鎰忎粈涔堝湴鏂廣?br />[鍘熸枃]
涓轟粈涔堣鍦↗2EE欏圭洰涓皥寮傚父澶勭悊鍛紵鍙兘璁稿java鍒濆鑰呴兘鎯寵錛?#8220;寮傚父澶勭悊涓嶅氨鏄痶ry….catch…finally鍚楋紵榪欒皝閮戒細 鍟婏紒”銆傜瑪鑰呭湪鍒濆java鏃朵篃鏄繖鏍瘋涓虹殑銆傚浣曞湪涓涓灞傜殑j2ee欏圭洰涓畾涔夌浉搴旂殑寮傚父綾伙紵鍦ㄩ」鐩腑鐨勬瘡涓灞傚浣曡繘琛屽紓甯稿鐞嗭紵寮傚父浣曟椂琚姏鍑猴紵寮?甯鎬綍鏃惰璁板綍錛熷紓甯歌鎬庝箞璁板綍錛熶綍鏃墮渶瑕佹妸checked Exception杞寲鎴恥nchecked Exception 錛屼綍鏃墮渶瑕佹妸unChecked Exception杞寲鎴恈hecked Exception?寮傚父鏄惁搴旇鍛堢幇鍒板墠绔〉闈紵濡備綍璁捐涓涓紓甯告鏋訛紵鏈枃灝嗗氨榪欎簺闂榪涜鎺㈣銆?
1錛?nbsp;JAVA寮傚父澶勭悊
鍦ㄩ潰鍚戣繃紼嬪紡鐨勭紪紼嬭璦涓紝鎴戜滑鍙互閫氳繃榪斿洖鍊兼潵紜畾鏂規硶鏄惁姝e父鎵ц銆傛瘮濡傚湪涓涓猚璇█緙栧啓鐨勭▼搴忎腑錛屽鏋滄柟娉曟紜殑鎵ц鍒欒繑鍥?.閿欒鍒欒繑鍥?銆傚湪vb鎴杁elphi寮鍙戠殑搴旂敤紼嬪簭涓紝鍑虹幇閿欒鏃訛紝鎴戜滑灝卞脊鍑轟竴涓秷鎭緇欑敤鎴楓?/div>
閫氳繃鏂規硶鐨勮繑鍥炲兼垜浠茍涓嶈兘鑾峰緱閿欒鐨勮緇嗕俊鎭傚彲鑳藉洜涓烘柟娉曠敱涓嶅悓鐨勭▼搴忓憳緙栧啓錛屽綋鍚屼竴綾婚敊璇湪涓嶅悓鐨勬柟娉曞嚭鐜版椂錛岃繑鍥炵殑緇撴灉鍜岄敊璇俊鎭茍涓嶄竴鑷淬?/div>
鎵浠ava璇█閲囧彇浜嗕竴涓粺涓鐨勫紓甯稿鐞嗘満鍒躲?/div>
浠涔堟槸寮傚父錛熻繍琛屾椂鍙戠敓鐨勫彲琚崟鑾峰拰澶勭悊鐨勯敊璇?/div>
鍦╦ava璇█涓紝Exception鏄墍鏈夊紓甯哥殑鐖剁被銆備換浣曞紓甯擱兘鎵?灞曚簬Exception綾匯侲xception灝辯浉褰撲簬涓涓敊璇被鍨嬨傚鏋滆瀹氫箟涓涓柊鐨勯敊璇被鍨嬪氨鎵╁睍涓涓柊鐨凟xception瀛愮被銆傞噰鐢ㄥ紓甯哥殑濂藉 榪樺湪浜庡彲浠ョ簿紜殑瀹氫綅鍒板鑷寸▼搴忓嚭閿欑殑婧愪唬鐮佷綅緗?騫惰幏寰楄緇嗙殑閿欒淇℃伅銆?/div>
Java寮傚父澶勭悊閫氳繃浜斾釜鍏抽敭瀛楁潵瀹?鐜幫紝try,catch,throw ,throws, finally銆傚叿浣撶殑寮傚父澶勭悊緇撴瀯鐢眛ry….catch….finally鍧楁潵瀹炵幇銆倀ry鍧楀瓨鏀懼彲鑳藉嚭鐜板紓甯哥殑java璇彞錛宑atch鐢ㄦ潵鎹曡幏鍙?鐢熺殑寮傚父錛屽茍瀵瑰紓甯歌繘琛屽鐞嗐侳inally鍧楃敤鏉ユ竻闄ょ▼搴忎腑鏈噴鏀劇殑璧勬簮銆備笉綆$悊try鍧楃殑浠g爜濡備綍榪斿洖錛宖inally鍧楅兘鎬繪槸琚墽琛屻?/div>
涓涓吀鍨嬬殑寮傚父澶勭悊浠g爜
java 浠g爜
  1.   
  2. public String getPassword(String userId)throws DataAccessException{   
  3. String sql = “select password from userinfo where userid=’”+userId +”’”;   
  4. String password = null;   
  5. Connection con = null;   
  6. Statement s = null;   
  7. ResultSet rs = null;   
  8. try{   
  9.  con = getConnection();//鑾峰緱鏁版嵁榪炴帴   
  10.  s = con.createStatement();   
  11.  rs = s.executeQuery(sql);   
  12.  while(rs.next()){   
  13.     password = rs.getString(1);   
  14.  }   
  15.  rs.close();   
  16.  s.close();   
  17.      
  18. }   
  19. Catch(SqlException ex){   
  20.  throw new DataAccessException(ex);   
  21. }   
  22. finally{   
  23.  try{   
  24.       if(con != null){   
  25.         con.close();   
  26.       }   
  27.  }   
  28.    Catch(SQLException sqlEx){   
  29.      throw new DataAccessException(“鍏抽棴榪炴帴澶辮觸!”,sqlEx);   
  30.    }   
  31. }   
  32. return password;   
  33. }   
  34.    
鍙互鐪嬪嚭Java鐨勫紓甯稿鐞嗘満鍒跺叿鏈夌殑浼樺娍錛?/div>
緇欓敊璇繘琛屼簡緇熶竴鐨勫垎綾伙紝閫氳繃鎵╁睍Exception綾繪垨鍏跺瓙綾繪潵瀹炵幇銆備粠鑰岄伩鍏嶄簡鐩稿悓鐨勯敊璇彲鑳藉湪涓嶅悓鐨勬柟娉曚腑鍏鋒湁涓嶅悓鐨勯敊璇俊鎭傚湪涓嶅悓鐨勬柟娉曚腑鍑虹幇鐩稿悓鐨勯敊璇椂錛屽彧闇瑕乼hrow 鐩稿悓鐨勫紓甯稿璞″嵆鍙?/div>
鑾峰緱鏇翠負璇︾粏鐨勯敊璇俊鎭傞氳繃寮傚父綾伙紝鍙互緇欏紓甯告洿涓鴻緇嗭紝瀵圭敤鎴鋒洿涓烘湁鐢ㄧ殑閿欒淇℃伅銆備互渚夸簬鐢ㄦ埛榪涜璺熻釜鍜岃皟璇曠▼搴忋?/div>
鎶婃紜殑榪斿洖緇撴灉涓庨敊璇俊鎭垎紱匯傞檷浣庝簡紼嬪簭鐨勫鏉傚害銆傝皟鐢ㄨ呮棤闇瑕佸榪斿洖緇撴灉榪涜鏇村鐨勪簡瑙c?/div>
寮哄埗璋冪敤鑰呰繘琛屽紓甯稿鐞嗭紝鎻愰珮紼嬪簭鐨勮川閲忋傚綋涓涓柟娉曞0鏄庨渶瑕佹姏鍑轟竴涓紓甯告椂錛岄偅涔堣皟鐢ㄨ呭繀欏諱嬌鐢╰ry….catch鍧楀寮傚父榪涜澶勭悊銆傚綋鐒惰皟鐢ㄨ呬篃鍙互璁╁紓甯哥戶緇線涓婁竴灞傛姏鍑恒?/div>
 
2錛?nbsp;Checked 寮傚父 榪樻槸 unChecked 寮傚父錛?/div>
Java寮傚父鍒嗕負涓ゅぇ綾?checked 寮傚父鍜寀nChecked 寮傚父銆傛墍鏈夌戶鎵縥ava.lang.Exception 鐨勫紓甯擱兘灞炰簬checked寮傚父銆傛墍鏈夌戶鎵縥ava.lang.RuntimeException鐨勫紓甯擱兘灞炰簬unChecked寮傚父銆?/strong>
褰撲竴涓柟娉曞幓璋冪敤涓涓彲鑳芥姏鍑篶hecked寮傚父鐨勬柟娉曪紝蹇呴』閫氳繃try…catch鍧楀寮傚父榪涜鎹曡幏榪涜澶勭悊鎴栬呴噸鏂版姏鍑恒?/div>
鎴戜滑鐪嬬湅Connection鎺ュ彛鐨刢reateStatement()鏂規硶鐨勫0鏄庛?/div>
public Statement createStatement() throws SQLException;
      
   SQLException鏄痗hecked寮傚父銆傚綋璋冪敤createStatement鏂規硶鏃訛紝java寮哄埗璋冪敤鑰呭繀欏誨SQLException榪涜鎹曡幏澶勭悊銆?/div>
java 浠g爜
  1.        public String getPassword(String userId){   
  2.        try{   
  3.        ……   
  4.               Statement s = con.createStatement();   
  5.               ……   
  6.        Catch(SQLException sqlEx){   
  7.               ……   
  8.    }   
  9. ……   
  10. }   
鎴栬?/div>
java 浠g爜
  1. public String getPassword(String userId)throws SQLException{   
  2.    Statement s = con.createStatement();   
  3. }  
(褰撶劧錛屽儚Connection,Satement榪欎簺璧勬簮鏄渶瑕佸強鏃跺叧闂殑錛岃繖閲屼粎鏄負浜嗚鏄巆hecked 寮傚父蹇呴』寮哄埗璋冪敤鑰呰繘琛屾崟鑾鋒垨緇х畫鎶涘嚭)
 
unChecked寮傚父涔熺О涓鴻繍琛屾椂寮傚父錛岄氬父 RuntimeException閮借〃紺虹敤鎴鋒棤娉曟仮澶嶇殑寮傚父錛屽鏃犳硶鑾峰緱鏁版嵁搴撹繛鎺ワ紝涓嶈兘鎵撳紑鏂囦歡絳夈傝櫧鐒剁敤鎴蜂篃鍙互鍍忓鐞哻hecked寮傚父涓鏍鋒崟鑾?unChecked寮傚父銆備絾鏄鏋滆皟鐢ㄨ呭茍娌℃湁鍘繪崟鑾穟nChecked寮傚父鏃訛紝緙栬瘧鍣ㄥ茍涓嶄細寮哄埗浣犻偅涔堝仛銆?/strong>
 
姣斿涓涓妸瀛楃杞崲涓烘暣鍨嬫暟鍊肩殑浠g爜濡備笅錛?/div>
 
java 浠g爜
  1. String str = “123”;   
  2. int value = Integer.parseInt(str);  
 
parseInt鐨勬柟娉曠鍚嶄負錛?/div>
java 浠g爜
  1. public static int parseInt(String s) throws NumberFormatException  
 
褰撲紶鍏ョ殑鍙傛暟涓嶈兘杞崲鎴愮浉搴旂殑鏁存暟鏃訛紝灝嗕細鎶涘嚭NumberFormatException銆傚洜涓篘umberFormatException鎵╁睍浜嶳untimeException錛屾槸unChecked寮傚父銆傛墍浠ヨ皟鐢╬arseInt鏂規硶鏃舵棤闇瑕乼ry…catch
 
鍥犱負java涓嶅己鍒惰皟鐢ㄨ呭unChecked寮傚父榪涜鎹曡幏鎴栧線涓婃姏 鍑恒傛墍浠ョ▼搴忓憳鎬繪槸鍠滄鎶涘嚭unChecked寮傚父銆傛垨鑰呭綋闇瑕佷竴涓柊鐨勫紓甯哥被鏃訛紝鎬繪槸涔犳儻鐨勪粠RuntimeException鎵╁睍銆傚綋浣犲幓璋冪敤瀹冧簺鏂?娉曟椂錛屽鏋滄病鏈夌浉搴旂殑catch鍧楋紝緙栬瘧鍣ㄤ篃鎬繪槸璁╀綘閫氳繃,鍚屾椂浣犱篃鏍規湰鏃犻渶瑕佸幓浜嗚В榪欎釜鏂規硶鍊掑簳浼氭姏鍑轟粈涔堝紓甯搞傜湅璧鋒潵榪欎技涔庡掓槸涓涓緢濂界殑鍔炴硶錛屼絾鏄?榪欐牱鍋氬嵈鏄繙紱諱簡java寮傚父澶勭悊鐨勭湡瀹炴剰鍥俱傚茍涓斿璋冪敤浣犺繖涓被鐨勭▼搴忓憳甯︽潵璇錛屽洜涓鴻皟鐢ㄨ呮牴鏈笉鐭ラ亾闇瑕佸湪浠涔堟儏鍐典笅澶勭悊寮傚父銆傝宑hecked寮?甯稿彲浠ユ槑紜殑鍛婅瘔璋冪敤鑰咃紝璋冪敤榪欎釜綾婚渶瑕佸鐞嗕粈涔堝紓甯搞傚鏋滆皟鐢ㄨ呬笉鍘誨鐞嗭紝緙栬瘧鍣ㄩ兘浼氭彁紺哄茍涓旀槸鏃犳硶緙栬瘧閫氳繃鐨勩傚綋鐒舵庝箞澶勭悊鏄敱璋冪敤鑰呰嚜宸卞幓鍐沖畾鐨勩?/div>
 
       鎵浠ava鎺ㄨ崘浜轟滑鍦ㄥ簲鐢ㄤ唬鐮佷腑搴旇浣跨敤checked寮傚父銆傚氨鍍忔垜浠湪涓婅妭鎻愬埌榪愮敤寮傚父鐨勫ソ澶栧湪浜庡彲浠ュ己鍒惰皟鐢ㄨ呭繀欏誨灝嗕細浜х敓鐨勫紓甯歌繘琛屽鐞嗐傚寘鎷湪銆妀ava Tutorial銆嬬瓑java瀹樻柟鏂囨。涓兘鎶奵hecked寮傚父浣滀負鏍囧噯鐢ㄦ硶銆?/div>
       浣跨敤checked寮傚父錛屽簲鎰忓懗鐫鏈夎澶氱殑try…catch鍦ㄤ綘鐨勪唬鐮佷腑銆傚綋鍦ㄧ紪鍐欏拰澶勭悊瓚婃潵瓚婂鐨則ry…catch鍧椾箣鍚庯紝璁稿浜虹粓浜庡紑濮嬫鐤慶hecked寮傚父鍊掑簳鏄惁搴旇浣滀負鏍囧噯鐢ㄦ硶浜嗐?/div>
鐢氳嚦榪炲ぇ鍚嶉紟榧庣殑銆妕hinking in java銆嬬殑浣滆匓ruce Eckel涔熸敼鍙樹簡浠栨浘緇忕殑鎯蟲硶銆侭ruce Eckel鐢氳嚦涓誨紶鎶妘nChecked寮傚父浣滀負鏍囧噯鐢ㄦ硶銆傚茍鍙戣〃鏂囩珷錛屼互璇曢獙checked寮傚父鏄惁搴旇浠巎ava涓幓鎺夈侭ruce Eckel璇細“褰撳皯閲忎唬鐮佹椂錛宑hecked寮傚父鏃犵枒鏄崄鍒嗕紭闆呯殑鏋勬濓紝騫舵湁鍔╀簬閬垮厤浜嗚澶氭綔鍦ㄧ殑閿欒銆備絾鏄粡楠岃〃鏄庯紝瀵瑰ぇ閲忎唬鐮佹潵璇寸粨鏋滄濂界浉鍙?#8221;
鍏充簬checked寮傚父鍜寀nChecked寮傚父鐨勮緇嗚璁哄彲浠ュ弬鑰?/div>
 
浣跨敤checked寮傚父浼氬甫鏉ヨ澶氱殑闂銆?/div>
       checked寮傚父瀵艱嚧浜嗗お澶氱殑try…catch 浠g爜
              鍙兘鏈夊緢澶歝hecked寮傚父瀵瑰紑鍙戜漢鍛樻潵璇存槸鏃犳硶鍚堢悊鍦拌繘琛屽鐞嗙殑錛屾瘮濡?SQLException銆傝屽紑鍙戜漢鍛樺嵈涓嶅緱涓嶅幓榪涜try…catch銆傚綋寮鍙戜漢鍛樺涓涓猚hecked寮傚父鏃犳硶姝g‘鐨勫鐞嗘椂錛岄氬父鏄畝鍗曠殑鎶婂紓甯告墦鍗?鍑烘潵鎴栬呮槸騫茶剢浠涔堜篃涓嶅共銆傜壒鍒槸瀵逛簬鏂版墜鏉ヨ錛岃繃澶氱殑checked寮傚父璁╀粬鎰熷埌鏃犳墍閫備粠銆?/div>
java 浠g爜
  1.        try{   
  2.        ……   
  3.               Statement s = con.createStatement();   
  4.               ……   
  5.        Catch(SQLException sqlEx){   
  6.               sqlEx.PrintStackTrace();   
  7.    }   
  8.    鎴栬?  
  9.        try{   
  10.        ……   
  11.               Statement s = con.createStatement();   
  12.               ……   
  13.        Catch(SQLException sqlEx){   
  14.           //浠涔堜篃涓嶅共   
  15. }   
 
checked寮傚父瀵艱嚧浜嗚澶氶毦浠ョ悊瑙g殑浠g爜浜х敓
        褰撳紑鍙戜漢鍛樺繀欏誨幓鎹曡幏涓涓嚜宸辨棤娉曟紜鐞嗙殑checked寮傚父錛岄氬父鐨勬槸閲嶆柊灝佽鎴愪竴涓柊鐨勫紓甯稿悗鍐嶆姏鍑恒傝繖鏍峰仛騫舵病鏈変負紼嬪簭甯︽潵浠諱綍濂藉銆傚弽鑰屼嬌浠g爜鏅氶毦浠ョ悊瑙c?/div>
灝卞儚鎴戜滑浣跨敤JDBC浠g爜閭f牱錛岄渶瑕佸鐞嗛潪甯稿鐨則ry…catch.錛岀湡姝f湁鐢ㄧ殑浠g爜琚寘鍚湪try…catch涔嬪唴銆備嬌寰楃悊瑙h繖涓柟娉曞彉鐞嗗洶闅捐搗鏉?/div>
checked寮傚父瀵艱嚧寮傚父琚笉鏂殑灝佽鎴愬彟涓涓被寮傚父鍚庡啀鎶涘嚭
java 浠g爜
  1.         public void methodA()throws ExceptionA{   
  2.          …..          
  3.           throw new ExceptionA();        
  4. }   
  5.           
  6. public void methodB()throws ExceptionB{   
  7.    try{   
  8.       methodA();   
  9.       ……   
  10.    }catch(ExceptionA ex){   
  11.    throw new ExceptionB(ex);   
  12.    }   
  13. }   
  14.            
  15.         Public void methodC()throws ExceptinC{   
  16.        try{   
  17.          methodB();   
  18.          …   
  19.        }   
  20.        catch(ExceptionB ex){   
  21.           throw new ExceptionC(ex);   
  22.         }   
  23.     }   
鎴戜滑鐪嬪埌寮傚父灝辮繖鏍蜂竴灞傚眰鏃犱紤姝㈢殑琚皝瑁呭拰閲嶆柊鎶涘嚭銆?/div>
 
checked寮傚父瀵艱嚧鐮村潖鎺ュ彛鏂規硶
   涓涓帴鍙d笂鐨勪竴涓柟娉曞凡琚涓被浣跨敤錛屽綋涓鴻繖涓柟娉曢澶栨坊鍔犱竴涓猚hecked寮傚父鏃訛紝閭d箞鎵鏈夎皟鐢ㄦ鏂規硶鐨勪唬鐮侀兘闇瑕佷慨鏀廣?/div>
 
鍙涓婇潰榪欎簺闂閮芥槸鍥犱負璋冪敤鑰呮棤娉曟紜殑澶勭悊checked寮傚父鏃惰岃榪幓鎹曡幏鍜屽鐞嗭紝琚揩灝佽鍚庡啀閲嶆柊鎶涘嚭銆傝繖鏍峰崄鍒嗕笉鏂逛究錛屽茍涓嶈兘甯︽潵浠諱綍濂藉銆傚湪榪欑鎯呭喌涓嬮氬父浣跨敤unChecked寮傚父銆?/div>
chekced寮傚父騫朵笉鏄棤涓鏄錛宑hecked寮傚父姣斾紶緇熺紪紼嬬殑閿欒榪斿洖鍊艱濂界敤寰楀銆傞氳繃緙栬瘧鍣ㄦ潵紜繚姝g‘鐨勫鐞嗗紓甯告瘮閫氳繃榪斿洖鍊煎垽鏂濂藉緱澶氥?/div>
濡傛灉涓涓紓甯告槸鑷村懡鐨勶紝涓嶅彲鎭㈠鐨勩傛垨鑰呰皟鐢ㄨ呭幓鎹曡幏瀹冩病鏈変換浣曠泭澶勶紝浣跨敤unChecked寮傚父銆?/strong>
濡傛灉涓涓紓甯告槸鍙互鎭㈠鐨勶紝鍙互琚皟鐢ㄨ呮紜鐞嗙殑錛屼嬌鐢╟hecked寮傚父銆?/div>
鍦ㄤ嬌鐢╱nChecked寮傚父鏃訛紝蹇呴』鍦ㄥ湪鏂規硶澹版槑涓緇嗙殑璇存槑璇ユ柟娉曞彲鑳戒細鎶涘嚭鐨剈nChekced寮傚父銆傜敱璋冪敤鑰呰嚜宸卞幓鍐沖畾鏄惁鎹曡幏unChecked寮傚父
 
鍊掑簳浠涔堟椂鍊欎嬌鐢╟hecked寮傚父錛屼粈涔堟椂鍊欎嬌鐢╱nChecked寮傚父錛熷茍娌℃湁涓涓粷瀵圭殑鏍囧噯銆備絾鏄瑪鑰呭彲浠ョ粰鍑轟竴浜涘緩璁?/div>
褰撴墍鏈夎皟鐢ㄨ呭繀欏誨鐞嗚繖涓紓甯革紝鍙互璁╄皟鐢ㄨ呰繘琛岄噸璇曟搷浣滐紱鎴栬呰寮傚父鐩稿綋浜庤鏂規硶鐨勭浜屼釜榪斿洖鍊箋備嬌鐢╟hecked寮傚父銆?/div>
榪欎釜寮傚父浠呮槸灝戞暟姣旇緝楂樼駭鐨勮皟鐢ㄨ呮墠鑳藉鐞嗭紝涓鑸殑璋冪敤鑰呬笉鑳芥紜殑澶勭悊銆備嬌鐢╱nchecked寮傚父銆傛湁鑳藉姏澶勭悊鐨勮皟鐢ㄨ呭彲浠ヨ繘琛岄珮綰у鐞嗭紝涓鑸皟鐢ㄨ呭共鑴嗗氨涓嶅鐞嗐?/div>
榪欎釜寮傚父鏄竴涓潪甯鎬弗閲嶇殑閿欒錛屽鏁版嵁搴撹繛鎺ラ敊璇紝鏂囦歡鏃犳硶鎵撳紑絳夈傛垨鑰呰繖浜涘紓甯告槸涓庡閮ㄧ幆澧冪浉鍏崇殑銆備笉鏄噸璇曞彲浠ヨВ鍐崇殑銆備嬌鐢╱nchecked寮傚父銆傚洜涓鴻繖縐嶅紓甯鎬竴鏃﹀嚭鐜幫紝璋冪敤鑰呮牴鏈棤娉曞鐞嗐?/div>
濡傛灉涓嶈兘紜畾鏃訛紝浣跨敤unchecked寮傚父銆傚茍璇︾粏鎻忚堪鍙兘浼氭姏鍑虹殑寮傚父,浠ヨ璋冪敤鑰呭喅瀹氭槸鍚﹁繘琛屽鐞嗐?/div>
 
3錛?span style="font-family: 'Times New Roman';"> 璁捐涓涓柊鐨勫紓甯哥被
鍦ㄨ璁′竴涓柊鐨勫紓甯哥被鏃訛紝棣栧厛鐪嬬湅鏄惁鐪熸鐨勯渶瑕佽繖涓紓甯哥被銆備竴鑸儏鍐典笅灝介噺涓嶈鍘昏璁℃柊鐨勫紓甯哥被錛岃屾槸灝介噺浣跨敤java涓凡緇忓瓨鍦ㄧ殑寮傚父綾匯?/div>
濡?div>java 浠g爜
  1. IllegalArgumentException, UnsupportedOperationException  
 
涓嶇鏄柊鐨勫紓甯告槸chekced寮傚父榪樻槸unChecked寮傚父銆傛垜浠兘蹇呴』鑰冭檻寮傚父鐨勫祵濂楅棶棰樸?/div>
java 浠g爜
  1. public void methodA()throws ExceptionA{   
  2.          …..          
  3.           throw new ExceptionA();        
  4. }   
 
鏂規硶methodA澹版槑浼氭姏鍑篍xceptionA.
 
public void methodB()throws ExceptionB
methodB澹版槑浼氭姏鍑篍xceptionB,褰撳湪methodB鏂?娉曚腑璋冪敤methodA鏃訛紝ExceptionA鏄棤娉曞鐞嗙殑,鎵浠xceptionA搴旇緇х畫寰涓婃姏鍑恒備竴涓姙娉曟槸鎶妋ethodB澹版槑浼氭姏鍑?ExceptionA.浣嗚繖鏍峰凡緇忔敼鍙樹簡MethodB鐨勬柟娉曠鍚嶃備竴鏃︽敼鍙橈紝鍒欐墍鏈夎皟鐢╩ethodB鐨勬柟娉曢兘瑕佽繘琛屾敼鍙樸?/div>
鍙︿竴涓姙娉曟槸鎶奅xceptionA灝佽鎴怑xceptionB錛岀劧鍚庡啀鎶涘嚭銆傚鏋滄垜浠笉鎶奅xceptionA灝佽鍦‥xceptionB涓紝灝變涪澶變簡鏍瑰紓甯鎬俊鎭紝浣垮緱鏃犳硶璺熻釜寮傚父鐨勫師濮嬪嚭澶勩?/div>
java 浠g爜
  1. public void methodB()throws ExceptionB{   
  2.    try{   
  3.       methodA();   
  4.       ……   
  5.    }catch(ExceptionA ex){   
  6.      throw new ExceptionB(ex);   
  7.    }   
  8. }  
 
   濡備笂闈㈢殑浠g爜涓紝ExceptionB宓屽涓涓狤xceptionA.鎴戜滑鏆備笖鎶奅xceptionA縐頒負“璧峰洜寮傚父”,鍥犱負ExceptionA瀵艱嚧浜咵xceptionB鐨勪駭鐢熴傝繖鏍鋒墠涓嶄嬌寮傚父淇℃伅涓㈠け銆?/div>
鎵浠ユ垜浠湪瀹氫箟涓涓柊鐨勫紓甯哥被鏃訛紝蹇呴』鎻愪緵榪欐牱涓涓彲浠ュ寘鍚祵濂楀紓甯哥殑鏋勯犲嚱鏁般傚茍鏈変竴涓鏈夋垚鍛樻潵淇濆瓨榪欎釜“璧峰洜寮傚父”銆?/div>
java 浠g爜
  1. public Class ExceptionB extends Exception{   
  2. private Throwable cause;   
  3.     
  4. public ExceptionB(String msg, Throwable ex){   
  5.  super(msg);   
  6.  this.cause = ex;   
  7. }   
  8.     
  9. public ExceptionB(String msg){   
  10.  super(msg);   
  11. }   
  12.     
  13. public ExceptionB(Throwable ex){   
  14.  this.cause = ex;   
  15. }   
  16. }   
褰撶劧錛屾垜浠湪璋冪敤printStackTrace鏂規硶鏃訛紝闇瑕佹妸鎵鏈夌殑“璧峰洜寮傚父”鐨勪俊鎭篃鍚屾椂鎵撳嵃鍑烘潵銆傛墍浠ユ垜浠渶瑕佽鍐檖rintStackTrace鏂規硶鏉ユ樉紺哄叏閮ㄧ殑寮傚父鏍堣窡韙傚寘鎷祵濂楀紓甯哥殑鏍堣窡韙?/div>
java 浠g爜
  1. public void printStackTrace(PrintStrean ps){   
  2. if(cause == null){   
  3.  super.printStackTrace(ps);   
  4. }else{   
  5.  ps.println(this);   
  6.  cause.printStackTrace(ps);   
  7. }   
  8. }   
 
涓涓畬鏁寸殑鏀寔宓屽鐨刢hecked寮傚父綾繪簮鐮佸涓嬨傛垜浠湪榪欓噷鏆備笖鎶婂畠鍙仛NestedException
 
java 浠g爜
  1. public NestedException extends Exception{   
  2. private Throwable cause;   
  3. public NestedException (String msg){   
  4.  super(msg);   
  5. }   
  6.     
  7. public NestedException(String msg, Throwable ex){   
  8.  super(msg);   
  9.  This.cause = ex;   
  10. }   
  11.     
  12. public Throwable getCause(){   
  13.  return (this.cause == null ? this :this.cause);   
  14. }   
  15.     
  16. public getMessage(){   
  17.  String message = super.getMessage();   
  18.  Throwable cause = getCause();   
  19.    if(cause != null){   
  20.      message = message + “;nested Exception is ” + cause;   
  21.    }   
  22.  return message;   
  23. }   
  24. public void printStackTrace(PrintStream ps){   
  25.  if(getCause == null){   
  26.     super.printStackTrace(ps);   
  27.        
  28.  }else{   
  29.  ps.println(this);   
  30.  getCause().printStackTrace(ps);   
  31.  }   
  32. }   
  33.     
  34. public void printStackTrace(PrintWrite pw){   
  35.  if(getCause() == null){   
  36.     super.printStackTrace(pw);   
  37.  }   
  38.  else{   
  39.     pw.println(this);   
  40.     getCause().printStackTrace(pw);   
  41.  }   
  42. }   
  43. public void printStackTrace(){   
  44.  printStackTrace(System.error);   
  45. }   
  46. }   
  47.     
鍚屾牱瑕佽璁′竴涓猽nChecked寮傚父綾諱篃涓庝笂闈竴鏍楓傚彧鏄渶瑕佺戶鎵縍untimeException銆?/div>
 
 
4錛?span style="font-family: 'Times New Roman';"> 濡備綍璁板綍寮傚父
浣滀負涓涓ぇ鍨嬬殑搴旂敤緋葷粺閮介渶瑕佺敤鏃ュ織鏂囦歡鏉ヨ褰曠郴緇熺殑榪愯錛屼互渚夸簬璺熻釜鍜岃褰曠郴緇熺殑榪愯鎯呭喌銆傜郴緇熷彂鐢熺殑寮傚父鐞嗘墍褰撶劧鐨勯渶瑕佽褰曞湪鏃ュ織緋葷粺涓?/div>
java 浠g爜
  1. public String getPassword(String userId)throws NoSuchUserException{   
  2. UserInfo user = userDao.queryUserById(userId);   
  3. If(user == null){   
  4.  Logger.info(“鎵句笉鍒拌鐢ㄦ埛淇℃伅,userId=”+userId);   
  5.  throw new NoSuchUserException(“鎵句笉鍒拌鐢ㄦ埛淇℃伅,userId=”+userId);   
  6. }   
  7. else{   
  8.  return user.getPassword();   
  9. }   
  10. }   
  11.     
  12. public void sendUserPassword(String userId)throws Exception {   
  13. UserInfo user = null;   
  14. try{   
  15.   user = getPassword(userId);   
  16.    //……..   
  17.  sendMail();   
  18.  //   
  19. }catch(NoSuchUserException ex)(   
  20.    logger.error(“鎵句笉鍒拌鐢ㄦ埛淇℃伅:”+userId+ex);   
  21.    throw new Exception(ex);   
  22. }   
 
鎴戜滑娉ㄦ剰鍒幫紝涓涓敊璇璁板綍浜嗕袱嬈?鍦ㄩ敊璇殑璧鋒簮浣嶇疆鎴戜滑浠呮槸浠nfo綰у埆榪涜璁板綍銆傝屽湪sendUserPassword鏂規硶涓紝鎴戜滑榪樻妸鏁翠釜寮傚父淇℃伅閮借褰曚簡銆?/div>
絎旇呮浘鐪嬪埌寰堝欏圭洰鏄繖鏍瘋褰曞紓甯哥殑錛屼笉綆′笁涓冧簩涓錛屽彧鏈夐亣鍒板紓甯稿氨鎶婃暣涓紓甯稿叏閮ㄨ褰曚笅銆傚鏋滀竴涓紓甯歌涓嶆柇鐨勫皝瑁呮姏鍑哄嬈★紝閭d箞灝辮璁板綍浜嗗嬈°傞偅涔堝紓甯稿掑簳璇ュ湪浠涔堝湴鏂硅璁板綍錛?/div>
寮傚父搴旇鍦ㄦ渶鍒濅駭鐢熺殑浣嶇疆璁板綍錛?/div>
 
濡傛灉蹇呴』鎹曡幏涓涓棤娉曟紜鐞嗙殑寮傚父錛屼粎浠呮槸鎶婂畠灝佽鎴愬彟澶栦竴縐嶅紓甯稿線涓婃姏鍑恒備笉蹇呭啀嬈℃妸宸茬粡琚褰曡繃鐨勫紓甯稿啀嬈¤褰曘?/div>
 
濡傛灉鎹曡幏鍒頒竴涓紓甯革紝浣嗘槸榪欎釜寮傚父鏄彲浠ュ鐞嗙殑銆傚垯鏃犻渶瑕佽褰曞紓甯?/strong>
 
java 浠g爜
  1. public Date getDate(String str){   
  2.  Date applyDate = null;   
  3. SimpleDateFormat format = new SimpleDateFormat(“MM/dd/yyyy”);   
  4. try{   
  5.  applyDate = format.parse(applyDateStr);   
  6. }   
  7. catch(ParseException ex){   
  8.  //涔庣暐錛屽綋鏍煎紡閿欒鏃訛紝榪斿洖null   
  9. }   
  10. return applyDate;   
  11. }   
 
鎹曡幏鍒頒竴涓湭璁板綍榪囩殑寮傚父鎴栧閮ㄧ郴緇熷紓甯告椂錛屽簲璇ヨ褰曞紓甯哥殑璇︾粏淇℃伅
java 浠g爜
  1. try{   
  2.        ……   
  3.         String sql=”select * from userinfo”;   
  4.               Statement s = con.createStatement();   
  5.               ……   
  6.        Catch(SQLException sqlEx){   
  7.           Logger.error(“sql鎵ц閿欒”+sql+sqlEx);   
  8. }   
      
   絀剁珶鍦ㄥ摢閲岃褰曞紓甯鎬俊鎭紝鍙婃庝箞璁板綍寮傚父淇℃伅錛屽彲鑳芥槸瑙佷粊瑙佹櫤鐨勯棶棰樹簡銆傜敋鑷蟲湁浜涚郴緇熻寮傚父綾諱竴璁板綍寮傚父銆傚綋浜х敓涓涓柊寮傚父瀵硅薄鏃訛紝寮傚父淇℃伅灝辮鑷姩璁板綍銆?/div>
java 浠g爜
  1.   public class BusinessException extends Exception {   
  2.       private void logTrace() {   
  3.           StringBuffer buffer=new StringBuffer();   
  4.           buffer.append("Business Error in Class: ");   
  5.           buffer.append(getClassName());   
  6.           buffer.append(",method: ");   
  7.           buffer.append(getMethodName());   
  8.           buffer.append(",messsage: ");   
  9.           buffer.append(this.getMessage());   
  10.           logger.error(buffer.toString());   
  11.              
  12. }   
  13. public BusinessException(String s) {   
  14.          super(s);   
  15. race();   
  16. }   
榪欎技涔庣湅璧鋒潵鏄崄鍒嗙編濡欑殑錛屽叾瀹炲繀鐒跺鑷翠簡寮傚父琚噸澶嶈褰曘傚悓鏃惰繚鍙嶄簡“綾葷殑鑱岃矗鍒嗛厤鍘熷垯”錛屾槸涓縐嶄笉濂界殑璁捐銆傝褰曞紓甯鎬笉灞炰簬寮傚父綾葷殑琛屼負錛岃褰曞紓甯稿簲 璇ョ敱涓撻棬鐨勬棩蹇楃郴緇熷幓鍋氥傚茍涓斿紓甯哥殑璁板綍淇℃伅鏄笉鏂彉鍖栫殑銆傛垜浠湪璁板綍寮傚父鍚屽簲璇ョ粰鏇翠赴瀵屼簺鐨勪俊鎭備互鍒╀簬鎴戜滑鑳藉鏍規嵁寮傚父淇℃伅鎵懼埌闂鐨勬牴婧愶紝浠ヨВ鍐抽棶 棰樸?/div>
铏界劧鎴戜滑瀵硅褰曞紓甯歌璁轟簡寰堝錛岃繃澶氱殑寮鴻皟榪欎簺鍙嶈屼嬌寮鍙戜漢鍛樻洿涓虹枒鎯戯紝涓縐嶅ソ鐨勬柟寮忔槸涓虹郴緇熸彁渚涗竴涓紓甯稿鐞嗘鏋躲傜敱妗嗘灦鏉ュ喅瀹氭槸鍚﹁褰曞紓甯稿拰鎬庝箞璁板綍寮傚父銆傝屼笉鏄敱鏅氱▼搴忓憳鍘誨喅瀹氥備絾鏄簡瑙d簺榪樻槸鏈夌泭鐨勩?/div>
5錛?nbsp;J2EE欏圭洰涓殑寮傚父澶勭悊
鐩墠,J2ee欏圭洰涓鑸兘浼氫粠閫昏緫涓婂垎涓哄灞傘傛瘮杈冪粡鍏哥殑鍒嗕負涓夊眰錛氳〃紺哄眰錛屼笟鍔″眰錛岄泦鎴愬眰(鍖呮嫭鏁版嵁搴撹闂拰澶栭儴緋葷粺鐨勮闂?銆?/div>
J2ee欏圭洰鏈夌潃鍏跺鏉傛э紝J2ee欏圭洰鐨勫紓甯稿鐞嗛渶瑕佺壒鍒敞鎰忓嚑涓棶棰樸?/div>
鍦ㄥ垎甯冨紡搴旂敤鏃訛紝鎴戜滑浼氶亣鍒拌澶歝hecked寮傚父銆傛墍鏈塕MI璋冪敤 錛堝寘鎷珽JB榪滅▼鎺ュ彛璋冪敤錛夐兘浼氭姏鍑簀ava.rmi.RemoteException;鍚屾椂RemoteException鏄痗hecked寮傚父錛屽綋鎴?浠湪涓氬姟緋葷粺涓繘琛岃繙紼嬭皟鐢ㄦ椂錛屾垜浠兘闇瑕佺紪鍐欏ぇ閲忕殑浠g爜鏉ュ鐞嗚繖浜沜hecked寮傚父銆傝屼竴鏃﹀彂鐢烺emoteException榪欎簺checked寮?甯稿緋葷粺鏄潪甯鎬弗閲嶇殑錛屽嚑涔庢病鏈変換浣曡繘琛岄噸璇曠殑鍙兘銆備篃灝辨槸璇達紝褰撳嚭鐜癛emoteException榪欎簺鍙曠殑checked寮傚父錛屾垜浠病鏈変換浣曢噸璇曠殑 蹇呰鎬э紝鍗村繀欏昏緙栧啓澶ч噺鐨則ry…catch浠g爜鍘誨鐞嗗畠銆備竴鑸垜浠兘鏄湪鏈搴曞眰榪涜RMI璋冪敤錛屽彧瑕佹湁涓涓猂MI璋冪敤錛屾墍鏈変笂灞傜殑鎺ュ彛閮戒細瑕佹眰鎶涘嚭 RemoteException寮傚父銆傚洜涓烘垜浠鐞哛emoteException鐨勬柟寮忓氨鏄妸瀹冪戶緇線涓婃姏銆傝繖鏍蜂竴鏉ュ氨鐮村潖浜嗘垜浠笟鍔℃帴鍙c?RemoteException榪欎簺J2EE緋葷粺綰х殑寮傚父涓ラ噸鐨勫獎鍝嶄簡鎴戜滑鐨勪笟鍔℃帴鍙c傛垜浠緋葷粺榪涜鍒嗗眰鐨勭洰鐨勫氨鏄噺灝戠郴緇熶箣闂寸殑渚濊禆錛屾瘡涓灞傜殑鎶鏈敼 鍙樹笉鑷充簬褰卞搷鍒板叾瀹冨眰銆?/div>
 
java 浠g爜
  1. //   
  2. public class UserSoaImpl implements UserSoa{   
  3.    public UserInfo getUserInfo(String userId)throws RemoteException{   
  4.       //……   
  5. 榪滅▼鏂規硶璋冪敤.   
  6.       //……   
  7.    }   
  8. }   
  9. public interface UserManager{   
  10.    public UserInfo getUserInfo(Stirng userId)throws RemoteException;   
  11. }   
 
鍚屾牱JDBC璁塊棶閮戒細鎶涘嚭SQLException鐨刢hecked寮傚父銆?/div>
 
涓轟簡閬垮厤緋葷粺綰х殑checked寮傚父瀵逛笟鍔$郴緇熺殑娣卞害渚靛叆錛屾垜浠彲浠ヤ負 涓氬姟鏂規硶瀹氫箟涓涓笟鍔$郴緇熻嚜宸辯殑寮傚父銆傞拡瀵瑰儚SQLException,RemoteException榪欎簺闈炲父涓ラ噸鐨勫紓甯革紝鎴戜滑鍙互鏂板畾涔変竴涓?unChecked鐨勫紓甯革紝鐒跺悗鎶奡QLException錛孯emoteException灝佽鎴恥nChecked寮傚父鍚庢姏鍑恒?/div>
濡傛灉榪欎釜緋葷粺綰х殑寮傚父鏄浜ょ敱涓婁竴綰ц皟鐢ㄨ呭鐞嗙殑錛屽彲浠ユ柊瀹氫箟涓涓猚hecked鐨勪笟鍔″紓甯革紝鐒跺悗鎶婄郴緇熺駭鐨勫紓甯稿皝瀛樿鎴愪笟鍔$駭鐨勫紓甯稿悗鍐嶆姏鍑恒?/div>
涓鑸湴錛屾垜浠渶瑕佸畾涔変竴涓猽nChecked寮傚父錛岃闆嗘垚灞傛帴鍙g殑鎵鏈夋柟娉曢兘澹版槑鎶涘嚭榪檜nChecked寮傚父銆?/span>
java 浠g爜
  1. public DataAccessException extends RuntimeException{   
  2.  ……   
  3. }   
  4. public interface UserDao{   
  5.  public String getPassword(String userId)throws DataAccessException;   
  6. }   
  7.     
  8. public class UserDaoImpl implements UserDAO{   
  9. public String getPassword(String userId)throws DataAccessException{   
  10.  String sql = “select password from userInfo where userId= ‘”+userId+”’”;   
  11. try{   
  12.     …   
  13.      //JDBC璋冪敤   
  14.      s.executeQuery(sql);   
  15.     …   
  16.    }catch(SQLException ex){   
  17.       throw new DataAccessException(“鏁版嵁搴撴煡璇㈠け璐?#8221;+sql,ex);   
  18.    }   
  19. }   
  20. }   
 
瀹氫箟涓涓猚hecked鐨勪笟鍔″紓甯革紝璁╀笟鍔″眰鐨勬帴鍙g殑鎵鏈夋柟娉曢兘澹版槑鎶涘嚭Checked寮傚父.
 
java 浠g爜
  1. public class BusinessException extends Exception{   
  2.  …..   
  3. }   
  4.     
  5. public interface UserManager{   
  6.    public Userinfo copyUserInfo(Userinfo user)throws BusinessException{   
  7.       Userinfo newUser = null;   
  8.       try{   
  9.         newUser = (Userinfo)user.clone();   
  10. }catch(CloneNotSupportedException ex){   
  11.  throw new BusinessException(“涓嶆敮鎸乧lone鏂規硶:”+Userinfo.class.getName(),ex);   
  12. }   
  13.  }   
  14. }  
 
J2ee琛ㄧず灞傚簲璇ユ槸涓涓緢钖勭殑灞傦紝涓昏鐨勫姛鑳戒負錛氳幏寰楅〉闈㈣姹傦紝鎶婇〉 闈㈢殑鍙傛暟緇勮鎴怭OJO瀵硅薄錛岃皟鐢ㄧ浉搴旂殑涓氬姟鏂規硶錛岀劧鍚庤繘琛岄〉闈㈣漿鍙戯紝鎶婄浉搴旂殑涓氬姟鏁版嵁鍛堢幇緇欓〉闈€傝〃紺哄眰闇瑕佹敞鎰忎竴涓棶棰橈紝琛ㄧず灞傞渶瑕佸鏁版嵁鐨勫悎娉曟ц繘 琛屾牎楠岋紝姣斿鏌愪簺褰曞叆鍩熶笉鑳戒負絀猴紝瀛楃闀垮害鏍¢獙絳夈?/div>
J2ee浠庨〉闈㈡墍鏈変紶緇欏悗鍙扮殑鍙傛暟閮芥槸瀛楃鍨嬬殑錛屽鏋滆姹傝緭鍏ユ暟鍊兼垨鏃ユ湡綾誨瀷鐨勫弬鏁版椂錛屽繀欏繪妸瀛楃鍊艱漿鎹負鐩稿簲鐨勬暟鍊兼垨鏃ユ湡鍊箋?/div>
濡傛灉琛ㄧず灞備唬鐮佹牎楠屽弬鏁頒笉鍚堟硶鏃訛紝搴旇榪斿洖鍒板師濮嬮〉闈紝璁╃敤鎴烽噸鏂板綍鍏ユ暟鎹紝騫舵彁紺虹浉鍏崇殑閿欒淇℃伅銆?/div>
 
閫氬父鎶婁竴涓粠欏甸潰浼犳潵鐨勫弬鏁拌漿鎹負鏁板鹼紝鎴戜滑鍙互鐪嬪埌榪欐牱鐨勪唬鐮?/div>
java 浠g爜
  1. ModeAndView handleRequest(HttpServletRequest request,HttpServletResponse response)throws Exception{   
  2.    String ageStr = request.getParameter(“age”);   
  3.    int age = Integer.parse(ageStr);   
  4.    …………   
  5.     
  6.  String birthDayStr = request.getParameter(“birthDay”);   
  7. SimpleDateFormat format = new SimpleDateFormat(“MM/dd/yyyy”);   
  8. Date birthDay = format.parse(birthDayStr);   
  9.     
  10. }   
 
涓婇潰鐨勪唬鐮佸簲璇ョ粡甯歌鍒幫紝浣嗘槸褰撶敤鎴蜂粠欏甸潰褰曞叆涓涓笉鑳借漿鎹負鏁村瀷鐨勫瓧絎︽垨涓涓敊璇殑鏃ユ湡鍊箋?/div>
Integer.parse()鏂規硶琚姏鍑轟竴涓?NumberFormatException鐨剈nChecked寮傚父銆備絾鏄繖涓紓甯哥粷瀵逛笉鏄竴涓嚧鍛界殑寮傚父,涓鑸綋鐢ㄦ埛鍦ㄩ〉闈㈢殑褰曞叆鍩熷綍鍏ョ殑鍊間笉鍚堟硶 鏃訛紝鎴戜滑搴旇鎻愮ず鐢ㄦ埛榪涜閲嶆柊褰曞叆銆備絾鏄竴鏃︽姏鍑簎nchecked寮傚父錛屽氨娌℃湁閲嶈瘯鐨勬満浼氫簡銆傚儚榪欐牱鐨勪唬鐮侀犳垚澶ч噺鐨勫紓甯鎬俊鎭樉紺哄埌欏甸潰銆備嬌鎴戜滑鐨勭郴緇?鐪嬭搗鏉ラ潪甯哥殑鑴嗗急銆?/div>
鍚屾牱錛孲impleDateFormat.parse()鏂規硶涔熶細鎶涘嚭ParseException鐨剈nChecked寮傚父銆?/div>
榪欑鎯呭喌鎴戜滑閮藉簲璇ユ崟鑾瘋繖浜泆nChecked寮傚父錛屽茍緇欐彁紺虹敤鎴烽噸鏂板綍鍏ャ?/div>
java 浠g爜
  1. ModeAndView handleRequest(HttpServletRequest request,HttpServletResponse response)throws Exception{   
  2.    String ageStr = request.getParameter(“age”);   
  3. String birthDayStr = request.getParameter(“birthDay”);   
  4.    int age = 0;   
  5.  Date birthDay = null;   
  6. try{   
  7. age=Integer.parse(ageStr);   
  8.    }catch(NumberFormatException ex){   
  9.      error.reject(“age”,”涓嶆槸鍚堟硶鐨勬暣鏁板?#8221;);   
  10.    }   
  11.    …………   
  12.     
  13.  try{   
  14. SimpleDateFormat format = new SimpleDateFormat(“MM/dd/yyyy”);   
  15.  birthDay = format.parse(birthDayStr);   
  16. }catch(ParseException ex){   
  17.  error.reject(“birthDay”,”涓嶆槸鍚堟硶鐨勬棩鏈燂紝璇峰綍鍏?#8217;MM/dd/yyy’鏍煎紡鐨勬棩鏈?#8221;);   
  18. }   
  19.     
  20. }  
鍦ㄨ〃紺哄眰涓瀹氳寮勬竻妤氳皟鐢ㄦ柟娉曠殑鏄惁浼氭姏鍑簎nChecked寮傚父錛屼粈涔堟儏鍐典笅浼氭姏鍑鴻繖浜涘紓甯革紝騫朵綔鍑烘紜殑澶勭悊銆?/strong>
鍦ㄨ〃紺哄眰璋冪敤緋葷粺鐨勪笟鍔℃柟娉曪紝涓鑸儏鍐典笅鏄棤闇瑕佹崟鑾峰紓甯哥殑銆傚鏋滆皟鐢ㄧ殑涓氬姟鏂規硶鎶涘嚭鐨勫紓甯哥浉褰撲簬絎簩涓繑鍥炲兼椂錛屽湪榪欑鎯呭喌涓嬫槸闇瑕佹崟鑾?/strong>


鎬濇棤 2011-06-27 16:02 鍙戣〃璇勮
]]>RMI 鍒濇帰http://www.tkk7.com/ilovebabyfat/archive/2011/06/13/352190.html鎬濇棤鎬濇棤Mon, 13 Jun 2011 07:18:00 GMThttp://www.tkk7.com/ilovebabyfat/archive/2011/06/13/352190.htmlhttp://www.tkk7.com/ilovebabyfat/comments/352190.htmlhttp://www.tkk7.com/ilovebabyfat/archive/2011/06/13/352190.html#Feedback0http://www.tkk7.com/ilovebabyfat/comments/commentRss/352190.htmlhttp://www.tkk7.com/ilovebabyfat/services/trackbacks/352190.htmlpackage hello;
public interface Hello extends java.rmi.Remote{
    String sayHello() throws java.rmi.RemoteException;
}

package hello;
import java.rmi.
*;
public class HelloClient {
    
public static void main(String args[]){
        System.setSecurityManager(new RMISecurityManager());
        try{
            Hello obj 
= (Hello)Naming.lookup("HelloServer");
            String message
=obj.sayHello();
            System.out.println(message);
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}

package hello;
import java.rmi.
*;
import java.rmi.registry.LocateRegistry;
import java.rmi.server.UnicastRemoteObject;
public class HelloImpl extends UnicastRemoteObject implements Hello{
    private String name;
    
public HelloImpl(String s) throws java.rmi.RemoteException{
        super();
        name
=s;
    }
    
public String sayHello()throws RemoteException{
        
return "hello world";
    }
    
public static void main(String args[]){
        System.setSecurityManager(new RMISecurityManager());
        try{
            HelloImpl obj 
= new HelloImpl("HelloServer");
            LocateRegistry.createRegistry(
1099); 
            Naming.rebind("HelloServer", obj);
            System.out.println("HelloImpl created 
and bound in the registry to the name HelloServer");
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}

瀹夊叏絳栫暐鏂囦歡
grant {
    permission java.security.AllPermission;
    };

榪愯鑴氭湰:
Set CLASSPATH=%CLASSPATH%;c:\         娌℃湁絀烘牸
javac -d .. *.java                                  鍦╤ello鐩綍涓?/span>
rmic -d . hello.HelloImpl                           鍦╤ello鐨勭埗鐩綍涓?/span>
java -Djava.security.policy=file:C:/java.policy hello.HelloImpl        娉ㄦ剰瀹夊叏絳栫暐鏂囦歡
java -Djava.security.policy=file:/C:/java.policy hello.HelloClient     娉ㄦ剰瀹夊叏絳栫暐鏂囦歡

鐩稿叧璧勬枡錛?br />
http://blog.csdn.net/coolriver/archive/2004/09/10/100702.aspx
http://topic.csdn.net/t/20020310/12/566253.html
http://topic.csdn.net/u/20070426/08/b852e323-08c6-4f80-b87a-937e24af237d.html



鎬濇棤 2011-06-13 15:18 鍙戣〃璇勮
]]>JavaBean鍜孊eanUtilshttp://www.tkk7.com/ilovebabyfat/archive/2011/06/13/352181.html鎬濇棤鎬濇棤Mon, 13 Jun 2011 04:38:00 GMThttp://www.tkk7.com/ilovebabyfat/archive/2011/06/13/352181.htmlhttp://www.tkk7.com/ilovebabyfat/comments/352181.htmlhttp://www.tkk7.com/ilovebabyfat/archive/2011/06/13/352181.html#Feedback0http://www.tkk7.com/ilovebabyfat/comments/commentRss/352181.htmlhttp://www.tkk7.com/ilovebabyfat/services/trackbacks/352181.html/**
 * 鏀圭被鎺╅グ浜嗗浣曢氳繃java.bean鐨勭被鍘昏幏鐭ean涓殑灞炴у茍璋冪敤鐩稿簲鐨剆et get鏂規硶
 
*/
import java.beans.*;
import java.lang.reflect.Method;
public class JavaBeanInvoke {
    
public static void main(String args[])throws Exception{
        test1();
    }
    
    
public static void test1()throws Exception{
        Person person 
= Person.class.newInstance();
        
        BeanInfo beaninfo 
= Introspector.getBeanInfo(Person.class);
        PropertyDescriptor[] porpertydescriptors 
= beaninfo.getPropertyDescriptors();
        
for(PropertyDescriptor pd:porpertydescriptors){
            System.out.println(pd.getName());
            
if(pd.getName().endsWith("name")){
                Method setMethod
=pd.getWriteMethod();
                Method getMethod
=pd.getReadMethod();
                setMethod.invoke(person,
"ShenZiping");
                System.out.println(getMethod.invoke(person));
                
break;
            }
        }
    }
    
    
public static void test2() throws Exception{
        Person person 
= Person.class.newInstance();
        PropertyDescriptor pd 
= new PropertyDescriptor("age",Person.class);
        Method setMethod 
= pd.getWriteMethod();
        Method getMethod 
= pd.getReadMethod();
        setMethod.invoke(person, 
56);
        System.out.println(getMethod.invoke(person));
    }
}

/**
 * 浠g爜涓句緥浜哹eanUtil鍖呯殑鏅亶鐢ㄦ硶錛岄渶瑕乤pache鐨刲ogging鍖呭拰beanUtils鍖?br /> 
*/
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import org.apache.commons.beanutils.*;
public class BeanUtilsInvoke {
    
public static void main(String args[])throws Exception{
        test1();
        test2();
        test3();
        test4();
        myConvertTest();
    }
    
public static void test1()throws Exception{
        Person person 
= new Person();
        BeanUtils.copyProperty(person, 
"name""ShenZiping");
        System.out.println(
"test1"+person.getName());
    }
    
public static void test2() throws Exception{
        Person person 
= new Person();
        Map
<String, String> map = new HashMap<String, String>();
        map.put(
"name""ShenZiping");
        map.put(
"age""65");
        BeanUtils.populate(person, map);
        System.out.println(
"test2"+person.getAge());
        System.out.println(
"test2"+person.getName());
    }
    
    
public static void test3() throws Exception{
        Person p1 
= new Person();
        Person p2 
= new Person();
        p1.setAge(
98);
        p1.setName(
"ShenZiping");
        BeanUtils.copyProperties(p2, p1);
        System.out.println(
"test3"+p2.getAge());
        System.out.println(
"test3"+p2.getName());
    }
    
    
public static void test4() throws Exception{
        Person person 
= new Person();
        Man man 
= new Man();
        person.setName(
"ShenZiping");
        BeanUtils.copyProperties(man, person);
        System.out.println(
"test4"+man.getName());
    }
    
    
public static void myConvertTest(){
        ConvertUtils.register(
new Converter(){
            
public Object convert(Class clazz, Object value){
                
if(clazz==Date.class){
                    SimpleDateFormat dateFormat 
= new SimpleDateFormat("yyyy-MM-dd");
                    
try{
                        
return dateFormat.parse((String)value);
                    }
catch(ParseException e){
                        
throw new RuntimeException("invalid format");
                    }
                }
                
return null;
            }
        }, Date.
class);
        Date date 
= (Date)ConvertUtils.convert("2010-01-15",Date.class);
        System.out.println(
"myConvertTest"+date);
    }
}


鎬濇棤 2011-06-13 12:38 鍙戣〃璇勮
]]> 主站蜘蛛池模板: 免费一级毛片在线播放放视频 | 亚洲网址在线观看| 中国毛片免费观看| 久爱免费观看在线网站| 久久精品国产亚洲7777| 三根一起会坏掉的好痛免费三级全黄的视频在线观看 | 99re6在线视频精品免费下载 | 亚洲V无码一区二区三区四区观看 亚洲αv久久久噜噜噜噜噜 | 日本视频一区在线观看免费| 亚洲美女自拍视频| 99久久99这里只有免费费精品| 久久精品国产亚洲AV蜜臀色欲 | 一个人看的www视频免费在线观看| 国产猛烈高潮尖叫视频免费| 国产亚洲?V无码?V男人的天堂 | 成人黄页网站免费观看大全| 亚洲国产成人精品无码区二本| 在线观看免费国产视频| 亚洲第一网站免费视频| 国产精品永久免费10000| 亚洲乱码在线观看| 日韩精品成人亚洲专区| 亚洲日本乱码卡2卡3卡新区| 日本高清免费aaaaa大片视频| 免费国产在线精品一区| 亚洲中文字幕无码久久精品1| 精品国产亚洲一区二区三区在线观看| 亚洲精品亚洲人成在线观看下载| 两个人看的www高清免费观看| 无码欧精品亚洲日韩一区夜夜嗨 | 亚洲一区二区在线视频| 一二三四免费观看在线电影| 亚洲综合成人网在线观看| 黄网站色在线视频免费观看| 亚洲高清毛片一区二区| 国产精品V亚洲精品V日韩精品| 91青青国产在线观看免费| 中文字幕亚洲综合久久综合| 亚洲中文字幕久久精品无码APP| 四虎国产成人永久精品免费| 亚洲国产高清国产拍精品|