【BigData】Java基础_异常处理

概念

在我们写程序的时候,当遇到异常,整个程序就中断了,导致程序奔溃,这就会影响用户体验度,为了让程序在运行的的过程中不出现这种问题,当程序报错时候,我们把这种错误先自行处理了,让程序保持正常运行。

例如:一个求商的程序,除数是用户输入,那么用户输入的除数可能是千奇百怪的,可能是数字,也可能是字符,还可能是0,如果输入字符或者0,那么就报错了,这时候程序就中断了,无法继续执行后面的内容,所以就得异常处理了。

注意:异常处理有2种方法

(1)使用try-catch结构来捕获异常

(2)下层方法可以将异常抛给上层调用者(也就是,mian中调用的方法A,A方法可以将异常跑出来给main方法,main方法就直接给jvm,程序就终止了)

案例

一个输入除数为0,造成程序终止的案例,代码如下:

package cn.test.logan.day10;

import java.util.Scanner;

public class ExceptionDemo {
    // 求商方法 ,此处将商的类型设置为int是为了抛出异常,如果是float,则不会抛异常
    public static float getDivide(int b){
        int a = 5;
        int res = a/b;
        return res;
    }
    // main方法
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入除数:");
        String b = sc.nextLine();
        float result = getDivide(Integer.parseInt(b));
        System.out.println(result);        System.out.println("看来异常已经被处理了");
    }

}

执行后结果如下:

那么如何解决这个异常呢?以下是使用try-catch结构进行处理

从上图可以看出,异常已经被处理了,程序可以正常运行,直到结束。

原文地址:https://www.cnblogs.com/OliverQin/p/12114532.html

时间: 2024-08-29 13:25:35

【BigData】Java基础_异常处理的相关文章

Think in Java 笔记_Chapter12_1_Exception基础_异常处理2

异常处理方式2 throw向上抛出 package cn.seven.shengsiyuan.exception; /* * 2015年04月05日13:05:35 * Location:501 * * 异常处理方法2:抛出异常,由调用该方法的方法 进行处理该异常 */ public class ExceptionThrowDemo { public static void main(String[] args) throws Exception { // TODO Auto-generated

【BigData】Java基础_创建一个订单类

需求描述 定义一个类,描述订单信息订单id订单所属用户(用户对象)订单所包含的商品(不定数量个商品对象)订单总金额订单应付金额:    总金额500~1000,打折85折    总金额1000~1500,打折80折    总金额1500~2000,打折70折    总金额超过2000,打折65折         在此基础上,还要看用户的vip等级    用户vip等级为:一般会员,则折上折:95    用户vip等级为:中级会员,则折上折:90    用户vip等级为:高级会员,则折上折:80

【BigData】Java基础_接口

接口概念 Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 以下是个人理解: 在软件开发过程中,当我们开发一个大型项目的时候,可能很多人一起共同开发一个项目,但是整个项目分为很多模块,我们不能按照顺序去开发模块,等A团队开发测试完毕第一个模块,B团队才开始开发第二个模块,这样的话,如果A团队出现延期,那么将会影响整个项目的开发进度,所以这种串行的开发方式是不行的,那么我们

Think in Java 笔记_Chapter12_1_Exception基础_异常处理3_自定义异常以及抛出多个异常的处理

自定义异常 package cn.seven.shengsiyuan.exception; public class MyException extends Exception{//非运行时异常,因为只是继承了Exception并非RuntimeException public MyException() { // TODO Auto-generated constructor stub } public MyException(String message){ super(message);/

【BigData】Java基础_终端输入2个数字并求和

1.需求描述 在终端输入2个数字,然后根据输入的数字求和 2.实现代码 package cn.test.logan; import java.util.Scanner; public class Test02 { public static void main(String[] args) { // 首先,创建一个用于获取终端的输入的工具 Scanner sc= new Scanner(System.in); // 获取用户输入的第一个数字 String num1 = sc.nextLine()

【BigData】Java基础_反射

1.反射是什么? 比较官方点的解释 Java反射机制是在运行状态中 对于任意一个类,都能知道这个类的所以属性和方法: 对于任何一个对象,都能够调用它的任何一个方法和属性: 这样动态获取新的以及动态调用对象方法的功能就叫做反射 个人理解: 反射也是自己看了教程以后发现比较有趣的一个东西,此处写的是个人对于反射的理解,个人理解的反射就是:不管你的实现类写好没,我们约定好定义好一个配置文件放在那,我需要调用到你的方法的时候我就从配置文件中动态获取,这样一来,我们之间的开发就不会冲突,并且开发完成后,我

【BigData】Java基础_多线程

所谓的多线程就像小吃街卖铜锅米线的老板,老板就好比一个操作系统,如果5个顾客同时去买米线,那么,此时老板就会同时准备好5个铜锅,然后同时放上水.调料.米线,同时煮5个人的米线,如果逐个煮的话,那么估计煮了2个人的米线,后面3人就来找老板退款了. 官方解释:多线程(英语:multithreading),是指从软件或者硬件上实现多个线程并发执行的技术 在Java中实现多线程四部曲: (1)将需要用多线程方式执行的逻辑,写入一个runnable实现类中(run方法中): (2)创建出这个runnabl

【BigData】Java基础_冒泡排序

1.实现需求 根据已经存在的数组,使用冒泡排序将数组中的元素排序后输出. 2.代码 package cn.test.logan.day02; /** * 冒泡排序在数组上的实现 * @author QIN * */ public class ArrayDemo4 { public static void main(String[] args) { //定义数组并赋值 int[] arr = new int[5]; arr[0]=30; arr[1]=50; arr[2]=20; arr[3]=4

java基础篇---异常处理

认识异常 异常时导致程序中断运行的一种指令流,如果不对异常进行正确的处理,则可能导致程序的中断执行,造成不必要的损失,所以在程序的设计中必须考虑各种异常的发生,并正确的做好相应的处理,这样才能保证程序的正常执行,在java使用一种称为异常处理的错误捕获机制处理. 为了能在程序中处理异常情况,必须研究程序中可能会出现的错误和问题 用户输入错误() 设备错误 物理限制(磁盘满了,) 代码错误(程序方法有可能无法正常执行) 处理异常 异常处理的简单格式 如果在try语句块中的任何代码抛出一个在catc