异常

异常不可避免,
java解决异常的办法:try catch finally  throws throw
解决异常:抓,抛
try 语句块用来对异常代码进行捕获
catch 对产生的异常进行对应的处理
finally 不管是否发生异常,代码块都要执行
java异常,产生异常的时候java会对应异常类型生成一个异常的对象
当try捕获到异常后,catch会拿到异常的对象和catch的后面的异常类型进行对比
如果对比成功,执行这个catch,如果对比失败,交给下一个catch块继续对比(有下一个catch的情况下)
五个常见的异常:NullPointerException 空指针异常,ArrayIndexOutOfBoundsException 数组下标越界异常,ClassNotFoundException 找不到类异常, FileNotFoundException 找不到文件异常,NetException ,SQLException SQL异常 IOException io异常NumberFormatException 数字格式化异常
常见的5个包:io lang util net sql 

在try catch finally语句中,不管return在什么地方,在执行return之前都会调用finally代码块;

 编写程序接收用户输入分数信息,如果分数在0—100之间,输出成绩。如果成绩不在该范围内,抛出异常信息,提示分数必须在0—100之间。

 

要求:使用自定义异常实现

 

 
  1. package com.sxt;

  2.  
  3. import java.util.Scanner;

  4.  
  5. public class MathDome{

  6. public static void main(String[] args) {

  7. Scanner sc=new Scanner(System.in);

  8. System.out.println("请输入数字");

  9. try {

  10. int a = sc.nextInt();

  11. if(a<=100&&a>=1){

  12. System.out.println(a);

  13. }else{

  14. throw new Exception("必须输入0-100之间的数");

  15. }

  16. }catch (Exception e) {

  17. System.out.println(e.getMessage());

  18. }finally{

  19. sc.close();

  20. }

  21. }

  22.  
  23. }

写一个方法void isTriangle(int a,int b,int c),判断三个参数是否能构成一个三角形, 如果不能则抛出异常IllegalArgumentException,显示异常信息 “a,b,c不能构成三角形”,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数, 调用此方法,并捕获异常。

 

 
  1. package com.sxt;

  2.  
  3. import javax.swing.plaf.basic.BasicSliderUI.TrackListener;

  4.  
  5. /**

  6. * 三角形

  7. * @author Administrator

  8. */

  9. public class Triangle {

  10. public void isTriangle(int a,int b,int c){

  11. try {

  12.  
  13. if(a+b>c&&a+c>b&&b+c>a){

  14. System.out.println(a+":"+b+":"+c);

  15. }else{

  16. throw new IllegalArgumentException();

  17. }

  18. } catch (IllegalArgumentException e) {

  19. System.out.println("a,b,c不能构成三角形");

  20. }

  21. }

  22. public static void main(String[] args) {

  23. Triangle a=new Triangle();

  24. a.isTriangle(1, 1, 1);

  25. }

  26.  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值