demo1 (try catch finally)
package TryCatch;
/**
* try catch finally
*/
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
// Scanner input = new Scanner(System.in);
// input.nextInt();
Demo1 de = new Demo1();
int jkl = de.test();
System.out.println(jkl);
}
public int test(){
Scanner input = new Scanner(System.in);
System.out.println("请输入一个数字");
int aa = input.nextInt();;
int bb = 100;
try{
while (aa > -1){
aa--;
bb = 100/aa;
}
return bb;
}catch (Exception e){
System.out.println("出错了");
return -1;
}finally {
System.out.println("强行输出一下 " + bb);
}
}
}
自定义异常
package TryCatch;
/**
* 自定义异常
*/
public class Demo2 extends Exception{
public Demo2(){
}
public Demo2(String message){
super(message);
}
}
异常链
package TryCatch;
/**
* 异常链
*/
public class Demo3 {
public static void main(String[] args) {
Demo3 de3 = new Demo3();
try{
de3.test2();
}catch (Exception e){
e.printStackTrace();
}
}
public void test1() throws Demo2{
throw new Demo2("喝酒别开车");
}
public void test2(){
try{
test1();
}catch(Exception e){
RuntimeException newExc = new RuntimeException("喝酒不开车~~~");
newExc.initCause(e);
throw newExc;
}
}
}