try...catch异常捕获printStackTrace常用的堆栈异常抛出

try...catch异常捕获
  1. 这是没用catch修补代码
package com.catches;
import java.util.Scanner;
public class Demo01 {
//需求:输入两数,求两数的商
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个整数:");
//判断录入的数是否整数
if (sc.hasNextInt()){
int num1 = sc.nextInt();
if(num1!=0){
System.out.println("请输入第二个整数:");
if (sc.hasNextInt()){
int num2 = sc.nextInt();
if (num2!=0){
System.out.println("商:"+num1/num2);
}else {
System.out.println("输入为0的数");
}
}else {
System.out.println("输入不是整数");
}
}else {
System.out.println("输入为0的数");
}
}else {
System.out.println("输入不是整数");
}
}
}
  1. 使用异常处理
package com.catches;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
try{Scanner sc = new Scanner(System.in);
System.out.println("别怀疑,输入两个数:");
int num1 = sc.nextInt();
int num2 = sc.nextInt();
System.out.println("输入两个数的商是:"+num1/num2);
}catch(Exception ex){
//输出异常产生的包名,错误原因;没有行号
//System.out.println(ex);
//输出异常的错误原因;没有行号
//System.out.println(ex.getMessage());
//显示异常描述对应的字符串,如果没有就为null
//System.out.println(ex.getCause());
//这里最常用
//System.out.println(ex.fillInStackTrace());
//打印堆栈异常信息;后续继续执行
ex.printStackTrace();
//这里是抛出异常,后续代码不执行
//throw(ex);
System.out.println("1111111111");
}
}
}
posted @   爱豆技术部  阅读(310)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
TOP
点击右上角即可分享
微信分享提示