异常机制
异常是指程序运行中出现的不期而至的各种状况,如文件找不到了,非法参数等
异常发生在程序运行期间,影响了程序的正常执行流程。exception
异常分为两大类:Error和Exception,java给出了一些异常的基类
异常处理机制
抛出异常
捕获异常
异常处理五个关键字:try,catch,finally。 throw,throws
package exception;
public class Demo1 {
public static void main(String[] args) {
new Demo1().minus(1,0);
try {
new Demo1().a();
}catch (Throwable e){
System.exit(1);//程序退出语句
System.out.println(e);
}
}
public int minus(int a,int b){
try {//监控区域,若发现异常则跳过异常语句直接执行catch代码块中语句
System.out.println(a/b);
return a/b;
}catch (Exception e){//(想要捕获的异常类型) 捕获异常
System.out.println(e);//对异常进行处理,或打印一些信息
return 0;
}catch (Throwable throwable){//可以写多个catch,成成递进
System.out.println(throwable);
}
finally {//处理善后工作,即使有return,finally也会被执行
System.out.println("finally");
}
return a;
}
public void a(){b();}
public void b(){a();}
}
自定义异常
package exception;
public class MyException extends Exception{
private int test;
public MyException(){
System.out.println("OK!");
}
public MyException(int a){
this.test = a;
System.out.println(a + "ok");
}
@Override
public String toString() {
return "MyException{" + test + '}';
}
}
自定义异常需要继承异常类,啥异常类都可,一般定义较高级类,可自定义一些自己处理异常的方法,通过toString()方法显示消息
package exception;
public class Demo2 {
public static void main(String[] args) {
try {
new Demo2().A(11);
} catch (MyException e) {
System.out.println(e);
}
}
public void A(int a) throws MyException {
if (a>10){
throw new MyException(a);
}else
System.out.println(a);
}
}
标签:MyException,System,println,机制,异常,public,out
From: https://www.cnblogs.com/1234sdg/p/17023218.html