|
|
1
1
我不说了。文件可以说:
如果有一个单元测试两者都无效,那么只要抛出两个异常中的任何一个,它就可以通过。 因为实际上,当存在多个值得异常处理的问题时,任何实际上取决于发生哪个异常的事情都不是一个好主意。 |
|
|
2
2
在确定异常顺序时,应确定故障的逻辑顺序。因此,在您的示例中,如果目录不存在并且文件写入权限不被允许,那么在尝试创建目标文件之前,期望代码首先检查目录的存在是不合理的;因此,应该从代码中抛出该异常,该代码将检查目录的存在,这将首先完成。 当然,如果您有更改操作顺序的特定原因(首先创建写文件,然后检查源目录),那就很好了;但问题是,任何一个路径都会抛出异常,这表明操作出了问题;调用代码如何处理它取决于调用代码。如果要捕获一种类型的可恢复异常(例如,filenotwritable)并具体处理该异常,然后仅捕获其他所有异常,这是很好的;应用程序应定义用于考虑和处理调用代码异常的协议。 |
|
EarthTurtle · 调整泛型抛出迭代器的异常类型 2 年前 |
|
wallop · 实现必须明确提及所有接口字段,还是可以跳过它们? 2 年前 |
|
|
Reelie · C#11-通过抽象类在接口中静态抽象成员? 2 年前 |
|
Addem · 在OCaml签名中放入类型声明的正确方法是什么 2 年前 |