上次的一篇文章問到為什么TreeViewer沒有刷新,結果沒有人回答。求人不求己。
自己解答一下這個問題吧,是因為領域對象出了錯,所以TreeViewer沒有刷新,因為在取得子節點的時候,出現了空針的情況,Dialog沒有不關閉,也是因為在刷新節點的時候遇到了領域對象的空針,TreeViewer的刷新方法已經出現異常了,所以Dialog停止執行了。JFace對異常的處理好像就是這么簡單,當遇到異常的時候,很少會拋出異常。
以后在寫RCP的時候一定要注意異常的問題,不要因為沒有看到異常信息,就認為沒有異常了,RCP只是不知道應該不異常記錄在哪里而已。
客戶虐我千百遍,我待客戶如初戀!