Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何处理public int compare()中的异常?_Java_Exception Handling_Compare - Fatal编程技术网

Java 如何处理public int compare()中的异常?

Java 如何处理public int compare()中的异常?,java,exception-handling,compare,Java,Exception Handling,Compare,我有以下代码: public int compare(Point left, Point right) { try { // sort points by .x coordinate return Integer.compare(left.x, right.x); } catch (InvalidProtocolBufferException e) { // what should I return here? Just a 0 or

我有以下代码:

public int compare(Point left, Point right) {
    try {
        // sort points by .x coordinate
        return Integer.compare(left.x, right.x);
    } catch (InvalidProtocolBufferException e) {
      // what should I return here? Just a 0 or add some logger warnings?
    }
}

你觉得怎么样?在
compare()
中处理异常的最佳实践是什么?

在这种情况下,我认为最好的实践是记录错误,并使用相关数据抛出RuntimeException或其子类


然后由函数调用方决定是捕获错误并继续处理,还是让异常继续。

该代码如何抛出异常?将异常抛出回调用方。。让调用者决定下一步做什么..我个人会允许异常传播到调用者,因为这是一种“方便”的方法,这是一种实现,所以很遗憾,我不能向调用者抛出异常。在catch block下,您可以重新抛出exception@TonyIvanov