返回如何在try,catch,最后在Java中工作?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了返回如何在try,catch,最后在Java中工作?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1953字,纯文字阅读大概需要3分钟。
内容图文
![返回如何在try,catch,最后在Java中工作?](/upload/InfoBanner/zyjiaocheng/717/f1b1523220fb435fb8dd401239c4095e.jpg)
我无法准确理解返回在try,catch中是如何工作的.
>如果我尝试并最终没有捕获,我可以在try块内放回.
>如果我试试,赶上,最后,我不能在try块中放回.
>如果我有一个catch块,我必须把返回到try,catch,finally块之外.
>如果我删除catch块并抛出异常,我可以将返回放在try块中.
它们如何正常工作?为什么我不能把回报放在try块中?
代码与try,catch,最后
public int insertUser(UserBean user) {
int status = 0;
Connection myConn = null;
PreparedStatement myStmt = null;
try {
// Get database connection
myConn = dataSource.getConnection();
// Create SQL query for insert
String sql = "INSERT INTO user "
+ "(user_name, name, password) "
+ "VALUES (?, ?, ?)";
myStmt = myConn.prepareStatement(sql);
// Set the parameter values for the student
myStmt.setString(1, user.getUsername());
myStmt.setString(2, user.getName());
myStmt.setString(3, user.getPassword());
// Execute SQL insert
myStmt.execute();
} catch (Exception exc) {
System.out.println(exc);
} finally {
// Clean up JDBC objects
close(myConn, myStmt, null);
}
return status;
}
用try编写代码,最后没有catch
public int insertUser(UserBean user) throws Exception {
int status = 0;
Connection myConn = null;
PreparedStatement myStmt = null;
try {
// Get database connection
myConn = dataSource.getConnection();
// Create SQL query for insert
String sql = "INSERT INTO user "
+ "(user_name, name, password) "
+ "VALUES (?, ?, ?)";
myStmt = myConn.prepareStatement(sql);
// Set the parameter values for the student
myStmt.setString(1, user.getUsername());
myStmt.setString(2, user.getName());
myStmt.setString(3, user.getPassword());
// Execute SQL insert
myStmt.execute();
return status;
} finally {
// Clean up JDBC objects
close(myConn, myStmt, null);
}
}
解决方法:
是的,这令人困惑.
在Java中,非void函数的所有程序控制路径必须以返回结束,否则抛出异常.这就是规则很简单.
但是,在令人厌恶的情况下,Java允许您在finally块中添加额外的返回值,这会覆盖以前遇到的任何返回:
try {
return foo; // This is evaluated...
} finally {
return bar; // ...and so is this one, and the previous `return` is discarded
}
内容总结
以上是互联网集市为您收集整理的返回如何在try,catch,最后在Java中工作?全部内容,希望文章能够帮你解决返回如何在try,catch,最后在Java中工作?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。