Java异常解读以及通过业务逻辑解决异常的方式
来源:互联网 发布:淘宝foreo旗舰店真假 编辑:程序博客网 时间:2024/05/22 14:03
1、异常体系结构:
1.1:定义:
程序在运行期间发生的不正常的情况称之为异常。1.2:jvm解决异常的方式:
1、终止正在运行程序2、输出当前异常信息
a、异常的类型 (jdk内部维护了当前异常的一个对象 用当前对象来描述当前出现的异常)
b、异常的原因
c、异常可能出现的行数
1.3:程序出现异常列子:
- package com.shsxt.exception;
- import java.util.Scanner;
- /*
- * 用户输入两个数 求两个数的商
- * java.util.InputMismatchException
- *
- *
- */
- public class Test02 {
- public static void main(String[] args) {
- Scanner input = new Scanner(System.in);
- System.out.println("请输入被除数---->");
- int num1 = input.nextInt();
- System.out.println("请输入除数---->");
- //关闭当前的Scanner
- input.close();
- int num2 = input.nextInt();
- System.out.println(num1+"/"+num2+"="+(num1/num2));
- }
- }
报错信息:
二、通过业务逻辑解决异常的方式:
- package com.shsxt.exception;
- import java.util.Scanner;
- /*
- * 手动解决异常问题
- *
- * 通过大量的if判断解决程序在执行过程中可能出现的异常情况。
- * 优势:确实可以将异常信息不交由jvm解决 显示更友好的提示信息
- * 劣势:编写的代码量太大了 而且后期不利于维护 并且程序员永远不知道用户有哪些输入
- *
- *
- *
- *
- */
- public class Test03 {
- public static void main(String[] args) {
- Scanner input = new Scanner(System.in);
- System.out.println("请输入被除数---->");
- //判定一次用户输入的值是不是我们需要的
- if(input.hasNextInt()){//下一次获取到的值是否是一个int值 如果是返回true 如果不是返回fasle
- int num1 = input.nextInt();
- System.out.println("请输入除数---->");
- //判定用户输入
- if(input.hasNextInt()){
- int num2 = input.nextInt();
- if(num2!=0){
- System.out.println(num1+"/"+num2+"="+(num1/num2));
- }else{
- System.out.println("除数不能为0");
- }
- }else{
- System.out.println("用户输入除数有误");
- }
- }else{
- System.out.println("用户输入逇被除数有误");
- }
- }
- }
PS:注意:
- 通过大量的if判断解决程序在执行过程中可能出现的异常情况。
- * 优势:确实可以将异常信息不交由jvm解决 显示更友好的提示信息
更多关于java异常情况及处理机制,请阅读上海尚学堂《java异常与其处理机制》
阅读全文
0 0
- Java异常解读以及通过业务逻辑解决异常的方式
- java自定义异常以及异常的使用
- JAVA异常解读
- Java异常解读
- Java 自定义异常解读
- android,java常遇到的异常以及如何解决?
- SSLException异常解读与解决
- 通过JDBC连接Hive以及常见异常处理方式
- 邮件异常解决方式
- Java JsonParseException异常的解决
- JAVA自定义业务异常BusinessException
- eclipse中遇到的异常解决方式
- 一个Kettle异常的解决方式
- 异常解析家族应用点源码讲解:SpringMVC全局异常捕获及SpringMVC文件上传报错的优雅解决方式以及@Exception拦截异常注意点
- java.lang.NoClassDefFoundError 异常解读
- 异常一般用于突发情况的处理,而不是用于正常的业务逻辑判断
- 注册客户端脚本事件加上业务逻辑层的异常提示
- java 异常处理方式
- Spark MapOutputTracker原理
- PHP中const和define()定义常量的细节区别
- Java数据结构实现之循环队列
- 一文读懂I/O多路复用技术
- HDU:2042 不容易系列之二
- Java异常解读以及通过业务逻辑解决异常的方式
- 匠牛社区AM5728编译u-boot
- 《Spring Microservices in Action》(Manning 2016)中文版下载地址
- 各种排序算法的分析及java实现
- 导入工程(Module)与移除工程
- 快速成为数据挖掘工程师
- c# lock用法
- virtualbox win7 for mac 装机问题
- 博弈论