问题描述
怎么中途退出有返回值的函数啊,return的话,出现java.lang.NullPointerException,用exit(0)的话退出整个程序,不是我所要的
解决方案
你可以抛出异常给调用者也是可以的,由调用者捕获处理异常。比如:Object f() throws XxxException{ //在你想返回的地方抛出异常 throw new XxxException(); ......}
解决方案二:
返回非void的函数是必须要有返回值的,这是函数的基本要求,除非你是退出java虚拟机,你函数的声明就像你订的一个规范,你必须要要遵守承诺如实的返回东西给调用者,你实在不知道该返回什么,那返回null也是可以的,函数的调用者再判断是否为null,但不能不返回。
解决方案三:
捕获异常并忽略之。try{//你调用的函数}catch(Exceptione ex){}
解决方案四:
你没有讲清楚为什么中途退出,是超时了,还是业务逻辑要求别的线程随时中断?
解决方案五:
这个得在你调用这个函数的时候对这个返回值进行判断是不是null啊具体情况具体分析嚒 如果中途退出函数没有什么想要返回就直接return null好了然后调用这个函数的时候,考虑如果返回null 应该怎么处理,或者加一个if判断返回值!=null,再继续执行
时间: 2024-11-15 23:21:42