java异常之throws,throw,用户自定义异常
程序员文章站
2022-07-14 10:26:50
...
package cn.Exception.cn.throwss;
public class yichang01 {
public static void see() throws Exception{
//一旦方法抛出的是一个最大的异常时(throws Exception),谁去调用它谁就要抛出异常
System.out.println(1/0);
}
//如果抛出的异常时具体的异常,则无上述情况
public static void say() throws ArithmeticException{
System.out.println(1/0);
}
//2 throw 方法内部抛出异常
private String name="小明";
private int age=20;
private String sex="男";
public void setSex(String sex) throws Exception {//内部抛出异常,外部就必须抛出异常
if ("男".equals(sex)) {
this.sex = sex;
} else if ("女".equals(sex)) {
this.sex = sex;
}
else{
//一旦内部发生异常,外部就必须抛出异常
throw new Exception("性别必须为男或者女");//系统没有这个异常,为了解释throw写出来的
}
}
//自定义异常
public void setSex1(String sex) throws MyException {//内部抛出异常,外部就必须抛出异常
if ("男".equals(sex)) {
this.sex = sex;
} else if ("女".equals(sex)) {
this.sex = sex;
}
else{
//这里抛出的异常就是我自定义的异常
throw new MyException("性别必须为男或者女");//系统没有这个异常,为了解释throw写出来的
}
}
}
package cn.Exception.cn.throwss;
//自定义一个异常,继承Exception
public class MyException extends Exception {
public MyException(String message){
super(message);
}
}
package cn.Exception.cn.throwss;
import static cn.Exception.cn.throwss.yichang01.say;
import static cn.Exception.cn.throwss.yichang01.see;
public class Test {
public static void main(String[] args) throws Exception {
//一旦方法抛出异常(最大的异常),谁去调用它,谁就会报错,必须再继续抛出异常
//1.继续向上抛出异常throws Exception,main方法就把异常抛给了JVM
//2.try{}catch()
//一般情况选择第二种方法
/* try {
see();
} catch (Exception e) {
e.printStackTrace();
}*/
see();
//如果方法抛出的是具体的异常,调用的时候就不要继续抛出异常了
say();
}
}
上一篇: trycatchfinally
推荐阅读
-
JAVA 异常 throwable exception error throws throw
-
Java异常中的throw和throws
-
java中异常的抛出:throw throws
-
Java 异常处理,throws、throw
-
Java 异常 throw和throws
-
Java异常处理throws/throw
-
Java中处理异常throw和throws
-
java异常处理(throws 和 throw)
-
异常类的了解、异常的处理方案、编译时期异常和运行时期异常区别、throws和throw的区别、自定义异常类 、捕获异常的标准格式、final、finally、finalize的区别
-
异常—throw/throws/自定义异常