try {
// 可疑代码
int i = 0;
int b = 10;
int c = b / i; // 执行代码时,会抛出ArithmeticException异常
} catch(Exception e) {
e.printStackTrace();
}finally {
// 最终要执行的代码
System.out.println("java finally");
}
Java异常处理的注意点
java语言按照try—catch-catch…—finally的方式来处理异常
不管有没有异常捕获,都会执行finally, 因此通常可以在finally代码块中释放资源
可以有多个catch,分别捕获对应的异常,这时需要把范围小的异常类写在前面,把范围大的异常类写在后面,否则编译错误。会提示 "Exception 'java.lang.xxxxxx' has already been caught"
Scala异常处理举例
代码语言:javascript复制
try {
val r = 10 / 0
} catch {
case ex: ArithmeticException=> println("捕获了除数为零的算数异常")
case ex: Exception => println("捕获了异常")
} finally {
// 最终要执行的代码
println("scala finally...")
}