Miq*_*uel 17 java exception-handling
有时候,我最终还是要抓住一个我知道永远不会发生的异常,比如这里
URLDecoder.decode("some string", "UTF-8"); //No unknown encoding possible
Run Code Online (Sandbox Code Playgroud)
或者在这里:
public void methodWithURL(URL url){
URI uri = new URI(url); //No invalud URI syntax possible
}
Run Code Online (Sandbox Code Playgroud)
你怎么处理这个?我通常会记录一个关于宇宙定律如何变化的有趣错误,然后抛出一个RuntimeException.有没有更好的办法?
我会跳过有趣的消息.
顺便说一句:我有一个案例,其中一段代码(在一个小型库中)假设编码可用.只有它部署在有限的设备上并在运行时爆炸.
已检查的异常用于显示我们的代码中的位置,我们应暂停一秒,并考虑路径较少(如"我的应用程序在网络死亡时所执行的操作"和其他极端情况).将它们包装在IllegalStateException中并重新抛出是一种签署的合同,程序员说:"是的,所有风险都被视为我对此处的现场承担全部责任".如果不是为了检查例外情况,那么我们就无法从明显的缺乏思想中知道一个有意义的决定.
| 归档时间: |
|
| 查看次数: |
2635 次 |
| 最近记录: |