1.使用treeSet收集可以 避免重复message 和 实现message 排序。 2.使用String.format可以让 message template 更加清晰 3.中断程序时,应该抛出自定义exception以区分其他unexpected exception