Try-Catch疑问

Try-Catch疑问

package yao.studyProj.ShoppingCart.model;

import java.util.InputMismatchException;
import java.util.Scanner;

public class Try {

	public static void one() {
		try {
			System.out.println("请输入一个正整数:");
			Scanner s = new Scanner(System.in);
			int n = s.nextInt();
			System.out.println("n = "+n);
			if (n < 0) {
				throw new Exception("输入的商品数量小于0");
			}else {
				System.out.println("Welcome");
			}
		}catch(InputMismatchException e) {
			e.printStackTrace();
		}catch(Exception e) {
			System.out.println("未知错误");
		}

	}
	public static void main(String[] args) {
		one();
	}

}

输入负数都不会抛出小于0的异常,求解答

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
初一 2019-05-05 17:21:10

同学你好~

想要显示输出的商品数量小于0,可以修改捕获异常里的输出语句;

 http://img1.sycdn.imooc.com//climg/5cceaa330001e1b809470516.jpg                                 在异常的章节学习中,会有详细的解释。

如果解决了你的疑惑,请采纳,祝学习愉快~~


初一 2019-05-05 15:29:54

同学你好~

throw关键字作用是抛出一个异常,抛出的时候是抛出的是一个异常类的实例化对象,然后在catch块中捕获该异常;不显示输出的商品数量小于0,是因为Exception类的构造方法没有输出返回。

http://img1.sycdn.imooc.com//climg/5cce90c600019c1306710196.jpg


如果解决了你的疑惑,请采纳,祝学习愉快~~


  • 提问者 weixin_慕斯3027614 #1
    如果我想输出小于0代码应该怎么写呢?请指教
    2019-05-05 16:19:27
吃吃吃鱼的猫 2019-05-04 16:19:10

同学你好,输入负数会抛出Exception的异常,但在catch块中,捕获了该异常,并输出“未知错误”的提示。

http://img1.sycdn.imooc.com//climg/5ccd4ab50001c7cc10560728.jpg

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 weixin_慕斯3027614 #1
    为什么不会被我的throw new Exception("输入的商品数量小于0")捕获呢?
    2019-05-05 14:41:10
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师