1、try-catch处理异常
public class Error { public static void main(String[] args) { int num1=34,num2=0; //使用try包裹住会产生异常的代码段 try{ System.out.println(num1/num2); } //使用catch去处理对应的异常 catch(ArithmeticException error){ //处理方法 System.err.println("运算错误,除数不能为0!"); } System.out.println("程序运行结束!"); } }
结果验证:
运算错误,除数不能为0!
程序运行结束!
2、示例一
import java.util.InputMismatchException; import java.util.Scanner; public class Error { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入第一个数字:"); //使用try包裹住会产生异常的代码段 try{ int num1=input.nextInt(); System.out.println("请输入第二个数字:"); int num2=input.nextInt(); System.out.println(num1/num2); } //使用catch去处理对应的异常 catch(ArithmeticException error1){ //处理方法 System.err.println("运算错误,除数不能为0!"); }catch(InputMismatchException error2){ System.err.println("请输入正确的数字!"); } System.out.println("程序运行结束!"); } }
结果验证:
请输入第一个数字:
123
请输入第二个数字:
b
请输入正确的数字!
程序运行结束!
3、示例二
public class Error { String str; public Error(String str) { this.str = str; } public String Transform(){ try{ int num = Integer.parseInt(str); }catch(NumberFormatException num){ System.out.println("字符串转整型,请输入正确的数字:"); }catch(Exception e){ } return str; } }
// 编写测试类,调用数据类型转换方法,分别传递参数“Good!”、20
public class ErrorDemo { public static void main(String[] args) { Error er = new Error("Good!"); er.Transform(); System.out.println(er.str); } }
字符串转整型,请输入正确的数字:
Good!
public class Error { String sex ; public Error() { // TODO Auto-generated constructor stub } public String getSex() { return sex; } public void setSex(String sex) throws Exception { if(sex.equals("男")||sex.equals("女")){ this.sex = sex; }else{ throw new Exception("性别必须为男或者女!"); } } }
public class ErrorDemo { public static void main(String[] args) { Error er = new Error(); try{ er.setSex("熊"); }catch(Exception error){ error.printStackTrace(); } System.out.println("程序结束"); } }
java.lang.Exception: 性别必须为男或者女!
at Error.setSex(Error.java:22)
at ErrorDemo.main(ErrorDemo.java:9)
程序结束
时间: 2024-10-14 00:59:38