Which is the Best way to exit a method

旧时模样 提交于 2019-12-27 02:06:59

问题


I was looking for the ways to exit a method, i found two methods System.exit(); Return;

System.exit() - Exits the full program Return exits current method and returns an error that remaining code are unreachable.

class myclass
{
    public static void myfunc()
    {
        return;
        System.out.println("Function ");
    }
}

public class method_test
{
    public static void main(String args[])
    {
        myclass mc= new myclass();
        mc.myfunc();
        System.out.println("Main");
    }
}

回答1:


There is no best way, it depends on situation.

Ideally, there is no need to exit at all, it will just return.

int a() {
    return 2;
}

If there is a real need to exit, use return, there are no penalties for doing so.

void insertElementIntoStructure(Element e, Structure s) {
    if (s.contains(e)) {
        return; // redundant work;
    }
    insert(s, e); // insert the element
}

this is best avoided as much as possible as this is impossible to test for failure in voids

Avoid system.exit in functions, it is a major side effect that should be left to be used only in main.

void not_a_nice_function() {
    if (errorDetected()) {
        System.exit(-1);
    }
    print("hello, world!");
}

this pseudocode is evil because if you try to reuse this code, it will be hard to find what made it exit prematurely.




回答2:


The best and proper way to exit from method is adding return statement.

System.exit() will shutdown your programm.

if you use system.exit once a thread goes there, it won't come back.

system.exit is part of Design of the Shutdown Hooks API




回答3:


first of all your code will kill good programmers imagine this code Which is the Best way to exit a method this code example that how a return comes before a System.out.print(); as it becomes unreachable after the return statement lols the command

         System.exit(int status); (status=0 for Normal Exit && status=-1 for abnormal exit

is only used if you want to exactly quit your whole app whereas the command

         return;

is used to get out/return from a method these two are different in their operations



来源:https://stackoverflow.com/questions/16255267/which-is-the-best-way-to-exit-a-method

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!