关于程序Exception抛出异常和利用返回值去做判断的思考

首先大家在写程序过程中都会碰到程序发生异常,这个时候你会选择利用一个return false; 还是thorw new Exception("error");呢?

让我们去看下jdk的源码中对于Exception用的频率

在java.io的包中我们去看下BufferedReader读取文件类中的readLine()方法

    /**
     * Reads a line of text.  A line is considered to be terminated by any one
     * of a line feed ('\n'), a carriage return ('\r'), or a carriage return
     * followed immediately by a linefeed.
     *
     * @return     A String containing the contents of the line, not including
     *             any line-termination characters, or null if the end of the
     *             stream has been reached
     *
     * @exception  IOException  If an I/O error occurs
     *
     * @see java.nio.file.Files#readAllLines
     */
    public String readLine() throws IOException {
        return readLine(false);
    }
可以看到在读取文件过程中 发生错误抛出了IO的异常,那如果说这个时候给你设计一个判断"fasle"的字符串,你去调用这个类你会不会非常的麻烦,在每次

返回结果的时候还要对返回值进行判断是不是"false"这样就会让代码显非常不具实用性,其他的一些例子非常的多,在每个jdk包中都能看的Exception的身影,

所以大家在设计代码的时候还是应该需要专门设计一个Exception抛异常的包来专门存放这些异常信息,这个只是个人观点。

当然有时候并不是全部都要用Exception来抛出错误的,另外建议如果程序要跑很长的一段代码,如果其中的一个节点可能会有异常,那还是使用Exception还抛出异常吧,可以节省你后面的很多繁琐的判断
以上只是个人观点,有什么好的建议各位可以提出来交流

你可能感兴趣的:(关于程序Exception抛出异常和利用返回值去做判断的思考)