明辉

上海尚学堂java,前端,大数据,hadoop

  • 博客访问: 2090
  • 博文数量: 29
  • 用 户 组: 普通用户
  • 注册时间: 2017-10-09 18:43
  • 认证徽章:
个人简介

上海尚学堂java,前端,云计算大数据,HADOOP等IT技术培训,网络维护

ITPUB论坛APP

ITPUB论坛APP



APP发帖 享双倍积分

文章分类

全部博文(29)

文章存档

2017年(29)

我的朋友
微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

订阅
热词专题

分类: Java技术

1、异常体系结构:


 

1.1:定义

程序在运行期间发生的不正常的情况称之为异常。

1.2:jvm解决异常的方式:

  1、终止正在运行程序
2、输出当前异常信息
a、异常的类型 (jdk内部维护了当前异常的一个对象 用当前对象来描述当前出现的异常)
b、异常的原因
c、异常可能出现的行数
 

1.3:程序出现异常列子:

  1. package com.shsxt.exception;  
  2.   
  3. import java.util.Scanner;  
  4.   
  5. /*
  6.  * 用户输入两个数 求两个数的商
  7.  *  java.util.InputMismatchException    
  8.  * 
  9.  * 
  10.  */  
  11. public class Test02 {  
  12.       
  13.     public static void main(String[] args) {  
  14.           
  15.           
  16.         Scanner input = new Scanner(System.in);  
  17.         System.out.println("请输入被除数---->");  
  18.         int num1 = input.nextInt();  
  19.         System.out.println("请输入除数---->");  
  20.           
  21.         //关闭当前的Scanner  
  22.         input.close();  
  23.           
  24.           
  25.         int num2 = input.nextInt();  
  26.         System.out.println(num1+"/"+num2+"="+(num1/num2));            
  27.     }  
  28. }  
 
报错信息:
 

 

二、通过业务逻辑解决异常的方式:

 
  1. package com.shsxt.exception;  
  2.   
  3. import java.util.Scanner;  
  4.   
  5. /*
  6.  * 手动解决异常问题
  7.  *      
  8.  *   通过大量的if判断解决程序在执行过程中可能出现的异常情况。
  9.  *   优势:确实可以将异常信息不交由jvm解决  显示更友好的提示信息
  10.  *   劣势:编写的代码量太大了 而且后期不利于维护 并且程序员永远不知道用户有哪些输入   
  11.  *   
  12.  *   
  13.  * 
  14.  * 
  15.  */  
  16. public class Test03 {  
  17.     public static void main(String[] args) {  
  18.           
  19.         Scanner input = new Scanner(System.in);  
  20.         System.out.println("请输入被除数---->");  
  21.           
  22.         //判定一次用户输入的值是不是我们需要的  
  23.         if(input.hasNextInt()){//下一次获取到的值是否是一个int值 如果是返回true 如果不是返回fasle  
  24.             int num1 = input.nextInt();  
  25.             System.out.println("请输入除数---->");  
  26.             //判定用户输入  
  27.             if(input.hasNextInt()){  
  28.                 int num2 = input.nextInt();  
  29.                 if(num2!=0){  
  30.                     System.out.println(num1+"/"+num2+"="+(num1/num2));  
  31.                 }else{  
  32.                     System.out.println("除数不能为0");  
  33.                 }  
  34.             }else{  
  35.                 System.out.println("用户输入除数有误");  
  36.             }  
  37.         }else{  
  38.             System.out.println("用户输入逇被除数有误");  
  39.         }  
  40.      }  
  41. }  

PS:注意:

  1.   通过大量的if判断解决程序在执行过程中可能出现的异常情况。
  2.  *   优势:确实可以将异常信息不交由jvm解决  显示更友好的提示信息
 *   劣势:编写的代码量太大了 而且后期不利于维护 并且程序员永远不知道用户有哪些输入  
 
更多关于java异常情况及处理机制,请阅读上海尚学堂《java异常与其处理机制

阅读(403) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册