六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

給JAVA設計開發新手的一些建議與意見(2)

[摘要]【處理好你的異�!�   -----------------   異常處理是Java編程中非常重要的一個部分。建議在使用異常之前閱讀或者。      下面從書中摘出幾條建議:   *絕對不要忽略異常   *千萬不要隱藏異常***   *僅在不正常的情況下使用異常   *對可恢復的情況使用可檢查異常,...
 【處理好你的異�!�
  -----------------

  異常處理是Java編程中非常重要的一個部分。建議在使用異常之前閱讀或者。
  
  下面從書中摘出幾條建議:
  *絕對不要忽略異常
  *千萬不要隱藏異常***
  *僅在不正常的情況下使用異常
  *對可恢復的情況使用可檢查異常,對程序錯誤使用運行時異常(RunTimeException)
  *給方法引發的異常做文檔
  *在詳細信息里面包括失敗捕獲信息
  *使用finally避免資源泄漏
  *。。。。
  
  在這里特別提出的是,在開發中要特別處理NULL的情況,否則經常引發NullPointException異常,在Java里這是一個最令人頭疼的異常了。
  如果你的程序因為一個NULL值,而報了幾十個NullPointException的話,不但得讓人煩死,而且還非常難以找到錯誤所在。所以在Java中一定要注意這個問題。
  如果你的函數不允許Null值,那么可以截獲它,拋出一個異常,或者給客戶更友好的提示,難道不好嗎?
  
  讓我們來看一個例子:

  public String getName(User aUser)
  {
  //如果aUser為Null,會發生什么情況
  return aUser。getName();
  }
  

  
  很明顯,如果參數為Null,就會拋出異常。應該改為:
  public String getName(User aUser)
  {
  if(null=aUser)
  {
  return "";
  }
  else
  {
  return aUser。getName();
  }
  }
  
  
  
  或者你要求參數不能為空,還可以拋出一個異常,強制使用者不能傳入空值。
  
  
  還有經常被忽略的是RunTimeException和普通異常的區別,在Java中,這是一個特殊的異常類,程序中如果遇到這個異常,用戶可以不截獲它,而如果是其他的普通異常,就不許要截獲它。我們的代碼經常這么寫:
  try
  {
  //your code here
  }
  catch(Exception e)
  {
  //do warn
  }

  這樣寫的話,就截獲了所有異常,當然也包括了RunTimeException。 在很多情況下,這是不合適的處理方式,我們只應截獲必要的異常,而應該忽略RuntimeException。
  
  關于RunTimeException,在Spring中還有更好的利用方式,建議閱讀Spring框架中在事務中對異常的處理代碼,例如對Jdbc拋出的SqlException的轉換。
  
  關于異常處理,我提出幾點建議:
  *捕獲異常而且再次拋出時要包含原來的異常信息
  *不要忘了RunTimeException,除非必要,否則不要用catch(Exception e)的方式捕獲所有異常。
  *不要用異常做流程控制,異常的性能代價比較高昂。(對此,可能有人不同意。此處不詳細討論)
  *不要把異常處理都拋給別人,本函數有能力處理的就不要拋出。
  
  在此建議讀者詳細閱讀或者。

  我們可以看到,這個類的主要目的是得到計算結果,所以正確的接口應該類似:
    
  public interface Counter
  {
  int getResult();
  } 

    
  但是很多情況下,經常是這樣的接口:
    
  public interface Counter
  {
  int getResult();
  int getN1();
  int getN2();
  void setN1(int n1);
  void setN2(int n2);
  }
    
  
  我們想一想,這樣做有2個后果:
  1。除了getResult之外,其他的函數我們根本用不到,所以是多余的。
  2。如果我們要自己實現一個Counter,如果接口中僅僅定義了getResult,我們僅僅需要實現它就可以了。我們自己的類可能是多個數運算,有乘除加減等等各種運算,參數也有可能是一些數組。但是如果按照第二種方法聲明接口的話,我們就必須實現后面的四個方法,如果這樣的話,實現這樣東西不僅沒用,而且浪費時間。我們恐怕要大聲罵娘了吧。
  
  
  所以,接口有好的作用,但是不要濫用。
  ■ 如果你的接口永遠只有一個類實現,那么可能就沒有必要用接口。
  ■ 你的接口只需要聲明別人用到的函數即可。



主站蜘蛛池模板: 日韩成人小视频 | 亚洲国产高清在线精品一区 | 色猫av | 日韩一区二区三区不卡视频 | 亚洲精品国产福利 | 日韩高清一级 | 欧美性视频在线 | 亚洲 中文 欧美 日韩 在线 | 视频二区日韩 | 天天色官网 | 婷婷激情六月 | 天天晚上开着日 | 欧美一级淫片免费播放40分钟 | 欧美视频在线观看网站 | 日本不卡一区二区三区视频 | 最近更新免费中文字幕大全 | 日韩手机看片福利精品 | 欧美一级片免费观看 | 亚洲成a人片在线不卡 | 欧美亚洲综合在线 | 又粗又大又长又爽免费视频 | 亚洲国产精品欧美综合 | 在线污视频 | 一级床片40分钟免费视频 | 天堂网在线免费观看 | 日本五级床片午夜视频 | 永久免费观看午夜视频在线 | 欧美综合在线播放 | 欧美在线香蕉在线现视频 | 亚洲欧美一区二区三区二厂 | 亚洲欧洲在线观看 | 日本欧美黄色 | 婷婷综合久久中文字幕 | 日韩特级 | 五月婷综合网 | 亚欧精品一区二区三区四区 | 亚洲欧美无人区乱码 | 泰剧不期而爱第三季免费全集观看 | 日韩精品视频免费网址 | 亚洲精品免费在线 | 日本网站在线播放 |