8
为什么使用try…最终没有catch子句?
经典的编程方式是使用try ... catch。什么时候适合使用try不catch? 在Python中,以下内容看起来合法且有意义: try: #do work finally: #do something unconditional 但是,代码没有catch任何内容。类似地,在Java中可能会认为如下: try { //for example try to get a database connection } finally { //closeConnection(connection) } 看起来不错,突然间我不必担心异常类型等。如果这是一种好的做法,那么什么时候才是好的做法?另外,为什么这不是良好做法或不合法?(我没有编译源代码。我正在询问它,因为它可能是Java的语法错误。我检查了Python是否确实可以编译。) 我遇到的一个相关问题是:我继续编写函数/方法,最后必须返回一些内容。但是,它可能位于不应该到达的地方,必须是返回点。因此,即使我处理了上面的异常,我仍会NULL在代码中某些不应该到达的位置(通常是方法/函数的结尾)返回或返回一个空字符串。我一直设法对代码进行重组,以使它不必一定要进行重组return NULL,因为这看起来绝对不像是一种好习惯。