异常
/*
* 异常
* 定义:异常是指程序运行中出现的一些错误,但并不是所以的错误都叫异常
* java.lang.Exception
* 1 检查性异常:无法避免
* 用户错误、其他外在操作错误
* 2 运行时异常:可以避免
* 在编译时容易被忽略
*
* 特点:
* 1 代码中一旦抛出异常,出现异常位置的,后面的代码将不会执行
*
* 抛出异常:
* 1 throw new Exception()
* 2 throw Exception
*/
public class ExcDemo {
public static void main(String[] args) throws Exception{
// try {
// //try代码块中包含的是可能出现异常的代码
// String a = "abc";
// a.charAt(3);
// System.out.println("2");
//
// } catch (Exception e) {
// //catch 捕获异常,并做出相应的处理,try{}catch后面的代码依然可以执行
// System.out.println("捕获异常");
// e.printStackTrace();
// } finally {
// System.out.println("1");
// }
/*
* finally的用法
* 1 不管是否出现异常,finally中的代码都将在try或者catch的最后执行
* 2 一旦有返回值,finally中的代码在try或者catch中的return前面执行
*/
dg(10);
}
public static int exc1() {
try {
System.out.println("try");
//手动抛出异常,异常将会被catch捕获
throw new Exception();
} catch (Exception e) {
e.printStackTrace();
return 0;
} finally {
System.out.println("finally");
}
}
//throw将异常抛出给上一级处理,最终将抛给jvm处理
public static int exc2() throws Exception {
String a = "abc";
a.charAt(3);
return 0;
}
public static void dg(int i) {
i++;
dg(i);
}