日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

这个算是编码的坏习惯吧?

發布時間:2025/3/15 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 这个算是编码的坏习惯吧? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

公司做HW外包,每行代碼都要經過checkstyle,重復,圈復雜度的各種考驗,而檢測工具包含篡改過的第三方,或HW的DIY。公司的同事在各種規則下,也找到了各種應對方法。

昨天發現項目一個Bug,Debug后發現如下代碼段(非原碼,僅示例)

1 public static Object errExample(byte[] bytes){ 2 Object obj = null; 3 ObjectInputStream ois; 4 try { 5 ByteArrayInputStream bis = new ByteArrayInputStream(bytes); 6 ois = new ObjectInputStream(bis); 7 obj = ois.readObject(); 8 } catch (IOException e) { 9 // Wrong, because may be subclass of IOExcption 10 Logger.getRootLogger().error("IOException is : " + "diy message."); 11 } catch (ClassNotFoundException e) { 12 Logger.getRootLogger().error("ClassNotFoundException is " + "diy message."); 13 } 14 return obj; 15 }

在第10行,捕捉了非運行時異常IOException,直接手工寫了IOException,但實際項目中拋出的卻是子類EOFException。原因呢,是在Socket實現RMI時byte數組長度寫死,而實際的對象轉碼后超過門限,多余的被截去了。

所以在記錄日志時,只使用代碼應該就差不多了。

Logger.getRootLogger().error(e);

因為類Throwable已經寫的夠用了。

1 public String toString() { 2 String s = getClass().getName(); 3 String message = getLocalizedMessage(); 4 return (message != null) ? (s + ": " + message) : s; 5 }

?

轉載于:https://www.cnblogs.com/xzs603/archive/2013/01/27/2878690.html

總結

以上是生活随笔為你收集整理的这个算是编码的坏习惯吧?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。