iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >JAVA异常处理方式是什么
  • 837
分享到

JAVA异常处理方式是什么

2023-06-03 00:06:16 837人浏览 八月长安
摘要

这篇文章主要讲解了“JAVA异常处理方式是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JAVA异常处理方式是什么”吧!1:try-catch结构:*  结构: *

这篇文章主要讲解了“JAVA异常处理方式是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JAVA异常处理方式是什么”吧!

1:try-catch

结构:

*  结构:
 * try{
 * 可能出现异常de代码段
 * }catch(可能出现的异常){
 * 解决办法
 * }

 
顺序:

*  try-catch的执行顺序:
 *   1、执行try块中的代码块  如果出现异常
 *    2、通过出现的异常去匹配 catch中声明的异常类型
 *    3、如果匹配成功 执行catch中的代码块         如果匹配失败  JVM处理当前异常信息 (终止程序 输出异常信息)
 *    4、继续执行剩下的代码

 
例子:

  1. public class Test04 {  

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

  3.         try{  

  4.             int num = 1/0;//new ArithmeticException()  

  5.             System.out.println(num);  

  6.         }catch(InputMismatchException e){ //InputMismatchException e = new ArithmeticException();  

  7.             System.out.println("除数不能为0");  

  8.         }  

  9.           

  10.         System.out.println("嘿嘿");  

  11.           

  12.     }  

  13. }  

 
注意事项

PS:只能处理一种异常信息。

 

2:try-多重catch

结构:

*  结构:
 *   try{
 *   可能出现异常的代码
 *   }catch(异常类型1 e1){
 *   解决方案1
 *   }catch(异常类型2 e2){
 *   解决方案2
 *   }catch(异常类型3 e3){
 *   解决方案3
 *   }。。。。{
 *   }

 
顺序

* 执行顺序:
 * 1、执行try块 如果出现异常
 * 2、以此匹配多重catch中声明的异常
 * 3、如果匹配成功 执行当前匹配成功的catch块 try-catch块执行完毕 继续执行下面的代码
 * 4、如果匹配失败 交由jvm处理 程序终止 输出异常信息
 * 5、一般情况下我们都会在最后一个catch中加入Exception 获取可能没有捕获的异常信息

 
例子

  1. public class Test05 {  

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

  3.           

  4.         Scanner input = new Scanner(System.in);  

  5.           

  6.         try{  

  7.             System.out.println("请输入被除数---->");  

  8.             int num1 = input.nextInt();  

  9.             System.out.println("请输入除数---->");  

  10.             int num2 = input.nextInt();  

  11.             System.out.println(num1+"/"+num2+"="+(num1/num2));  

  12.               

  13.         }catch(InputMismatchException e){//这个异常对象中没有维护异常的原因 所以通过getMessage获取不到异常信息  null值  

  14.             //e.printStackTrace();   

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

  16.             System.out.println("用户输入有误");  

  17.         }catch(ArithmeticException e){//这个异常对象中维护异常的原因 所以通过getMessage可以获取到异常信息  

  18.             System.out.println(e.getMessage());//by zero  

  19.             System.out.println("除数不能为0");  

  20.               

  21.               

  22.         }catch(Exception e){//Exception e = new 可能出现的异常();   父类变量指向了子类对象   

  23.             //多态  

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

  25.             System.out.println("外星人把页面叼走了 请等待。。。");  

  26.         }  

  27.           

  28.     }  

  29. }  

 
注意事项:

PS:
  1. 一般情况下我们都会在最后一个catch中加入Exception 获取可能没有捕获的异常信息

  2. 常见的异常的对象中的方法:

* 异常中常见的方法:
      * e.getMessage() -->获取异常的原因藐视
      * e.printStackTrace()  -->打印异常的出现行数以及异常的全限定名* e.toString  --> 异常的全限定名

 

3:try-多重catch-finally

结构:

* 结构:
 * try{
 *   可能出现异常的代码
 *   }catch(异常类型1 e1){
 *   解决方案1
 *   }catch(异常类型2 e2){
 *   解决方案2
 *   }catch(异常类型3 e3){
 *   解决方案3
 *   }。。。。{
 *   }finally{
 *   代码块
 *   }

 
顺序:

* 执行顺序:
 * 1、执行try块 如果出现异常
 * 2、以此匹配多重catch中声明的异常
 * 3、如果匹配成功 执行当前匹配成功的catch块  执行finally代码块 try-catch-finally块执行完毕 继续执行下面的代码
 * 4、如果匹配失败 交由jvm处理 程序终止 输出异常信息 也会执行finally代码块
 * 5、一般情况下我们都会在最后一个catch中加入Exception 获取可能没有捕获的异常信息
 * 6、一般情况下通过finally去关闭连接资源

 
例子:

  1. public class Test06 {  

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

  3.         Scanner input  = null;  

  4.         try{  

  5.               

  6.             input = new Scanner(System.in);  

  7.             System.out.println("请输入被除数---->");  

  8.             int num1 = input.nextInt();  

  9.             System.out.println("请输入除数---->");  

  10.             int num2 = input.nextInt();  

  11.             System.exit(0);//关闭虚拟机 0正常退出  非0 强制退出  

  12.             System.out.println(num1+"/"+num2+"="+(num1/num2));  

  13.               

  14.         }catch(InputMismatchException e){  

  15.             System.out.println("用户输入有误");  

  16.         }catch(ArithmeticException e){  

  17.             System.out.println("除数不能为0");  

  18.         }catch(Exception e){  

  19.             System.out.println("外星人把页面叼走了 请等待。。。");  

  20.         }finally{  

  21.               

  22.             System.out.println("我被执行了");  

  23.             //在这里关闭的  

  24.             input.close();  

  25.         }  

  26.           

  27.     }  

  28. }  

 
注意事项:

PS:
  1. finally一定会被执行 return 以及异常或者是正常情况下都会执行finally代码

  2. System.exit(数字) 退出虚拟机 0 正常 非0 强制

 
 

4:throws 声明一个异常

语法格式:

* 注意格式:
 * 方法() throws 异常类型1,异常类型2。。。{}

 
注意事项:

  1. s不要忘记 一个方法可以声明多个异常信息

  2. 某个方法如果对外声明一个异常,那么调用者一定要解决当前异常。解决方案:

    A、try-catch     B、继续向外声明

 
案例:

  1. public class Test08 {  

  2.     public static void main(String[] args)throws Exception {  

  3.           

  4.         System.out.println(add(1,43));  

  5.           

  6.     }  

  7.       

  8.       

  9.     public static int add(int num1,int num2)throws Exception{  

  10.         return num1+num2;  

  11.     }  

  12.       

  13. }  

 

5:throw抛出异常信息

语法格式:

throw new 异常类型();
PS:抛出异常是在方法内部编写的

 
注意事项:

  1. throw 抛出异常在方法体体编写

  2. 一般情况下和throws一起使用

 
案例:

  1. public class Test09 {  

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

  3.         //1、创建一个user对象  

  4.         User u = new User();  

  5.         //2、解决异常  

  6.         try {  

  7.             u.setGender(12);//new Exception();  

  8.         } catch (Exception e) {  

  9.             e.printStackTrace();  

  10.         }  

  11.           

  12.           

  13.     }  

  14.       

  15.       

  16. }  

  17. class User{  

  18.       

  19.     private int gender;  

  20.       

  21.     public User() {  

  22.         // TODO Auto-generated constructor stub  

  23.     }  

  24.   

  25.     public int getGender() {  

  26.         return gender;  

  27.     }  

  28.   

  29.     public void setGender(int gender) throws Exception{  

  30.         //判定gender的值  

  31.         if(gender==0||gender==1){  

  32.             this.gender = gender;  

  33.         }else{  

  34.             //抛出一个异常  

  35.             throw new Exception();  

  36.         }  

  37.     }  

  38. }  

6:自定义异常:

自定义异常的步骤:

* 如何自定义异常:
 * 1、创建一个类 让当前类要么继承Exception 要么继承RuntimeException
 *  2、编写当前类的构造器  :
 *   a、一定要写空构造器
 *   b、一定要写一个带异常原因描述的构造器 (带一个String参数的构造器)
 *  3、在构造器内部通过super()调用父类的构造器即可

 
自定义异常如何获取异常信息:类图:
JAVA异常处理方式是什么 
实例:

  1. public class GenderException extends Exception{  

  2.       

  3.     public GenderException(){  

  4.           

  5.     }  

  6.       

  7.     public GenderException(String str){  

  8.         super(str);  

  9.     }  

  10.       

  11. }  

 
测试类:

  1. public class Test11 {  

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

  3.           

  4.           

  5.         //1、创建一个Person对象  

  6.         Person p = new Person();  

  7.         try{  

  8.             p.setGender(10);  

  9.               

  10.         }catch(GenderException e){  

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

  12.         }  

  13.           

  14.         System.out.println(p.getGender()==0?"女生":"男生");  

  15.           

  16.           

  17.     }  

  18. }  

  19. class Person{  

  20.       

  21.     private int gender;  

  22.       

  23.     public Person() {  

  24.         // TODO Auto-generated constructor stub  

  25.     }  

  26.   

  27.     public int getGender() {  

  28.         return gender;  

  29.     }  

  30.   

  31.     public void setGender(int gender) throws GenderException,NullPointerException{  

  32.         if(gender==0||gender==1){  

  33.             this.gender = gender;             

  34.         }else{  

  35.             //抛出异常  

  36.             throw new GenderException("性别赋值错误");  

  37.         }  

  38.     }  

  39.       

  40.       

  41.       

  42.       

  43. }  

 
PS:当int作为属性时它是具有默认值,默认值是0.而这个值有可能导致程序运行期间出现不稳定因素

感谢各位的阅读,以上就是“JAVA异常处理方式是什么”的内容了,经过本文的学习后,相信大家对JAVA异常处理方式是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: JAVA异常处理方式是什么

本文链接: https://www.lsjlt.com/news/231776.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JAVA异常处理方式是什么
    这篇文章主要讲解了“JAVA异常处理方式是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JAVA异常处理方式是什么”吧!1:try-catch结构:*  结构: * ...
    99+
    2023-06-03
  • Python常见异常的处理方式是什么
    这篇文章主要介绍“Python常见异常的处理方式是什么”,在日常操作中,相信很多人在Python常见异常的处理方式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python常见异常的处理方式是什么”的疑...
    99+
    2023-07-05
  • SpringBoot全局异常处理方式是什么
    这篇文章主要讲解了“SpringBoot全局异常处理方式是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot全局异常处理方式是什么”吧!SpringBoot全局异常处理为...
    99+
    2023-06-25
  • Java异常处理的的方法是什么
    本篇内容主要讲解“Java异常处理的的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java异常处理的的方法是什么”吧!1) 为可恢复的错误使用检查型异常,为编程错误使用非检查型错误。...
    99+
    2023-06-16
  • java项目异常处理的方法是什么
    在Java项目中,有多种方法可以处理异常,包括:1. try-catch块:使用try-catch块可以捕获并处理异常。在try块中...
    99+
    2023-09-16
    java
  • Java异常处理规则是什么
    这篇文章主要讲解了“Java异常处理规则是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java异常处理规则是什么”吧!  举个例子,想象你有一个加载了这个接口的服务器应用:   pub...
    99+
    2023-06-03
  • java异常处理机制原理是什么
    Java异常处理机制的原理是基于异常(Exception)的概念。在Java中,异常是指在程序运行过程中发生的错误或异常情况。当代码...
    99+
    2023-09-16
    java
  • Scala异常处理方法是什么
    这篇“Scala异常处理方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Scala异常处理方法是什么”文章吧。Sca...
    99+
    2023-06-27
  • Java常见异常及处理方式总结
    目录一、概述二、异常分类三、声明及抛出四、捕获异常五、捕获多个异常六、自定义异常七、异常堆栈一、概述 异常指不期而至的各种状况,它在程序运行的过程中发生。作为开发者,我们都希望自己写...
    99+
    2024-04-02
  • Java异常处理的优劣是什么
    本篇内容介绍了“Java异常处理的优劣是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先解释一些java异常处理中必须搞清楚的定义和机...
    99+
    2023-06-17
  • Python之异常值检测和处理方式是什么
    这篇文章主要讲解了“Python之异常值检测和处理方式是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python之异常值检测和处理方式是什么”吧!1 什么是异常值?在机器学习中,异常检...
    99+
    2023-07-02
  • Scala异常处理的方法是什么
    这篇文章主要介绍“Scala异常处理的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Scala异常处理的方法是什么”文章能帮助大家解决问题。Scala异常处理Scala是一种多范式的编程语...
    99+
    2023-07-05
  • Java异常类型分析及处理方法是什么
    今天就跟大家聊聊有关Java异常类型分析及处理方法是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言:Java异常,大家都很熟悉。但是对于具体怎么分类的,JVM对其怎么处理的,...
    99+
    2023-06-22
  • Java异常的处理方式有哪些
    这篇文章主要介绍“Java异常的处理方式有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java异常的处理方式有哪些”文章能帮助大家解决问题。什么是异常?异常在我们写代码是特别常见,因为程序员大...
    99+
    2023-06-30
  • THINKPHP调试模式及异常处理的方法是什么
    这篇文章主要讲解了“THINKPHP调试模式及异常处理的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“THINKPHP调试模式及异常处理的方法是什么”吧!调试模式开启调试模式很简单...
    99+
    2023-06-26
  • Python中处理异常的方法是什么
    在Python中处理异常的方法是使用try-except语句。try块中包含可能会抛出异常的代码,而except块中包含处理异常的代...
    99+
    2024-03-12
    Python
  • Python的异常处理方式
    这篇文章主要介绍“Python的异常处理方式”,在日常操作中,相信很多人在Python的异常处理方式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python的异常处理方式”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-04
  • java中异常处理机制的原理是什么
    Java中的异常处理机制是基于异常类的继承关系和异常处理代码块的机制。当程序发生异常时,会抛出一个异常对象,该异常对象会沿着调用链向...
    99+
    2023-08-31
    java
  • C#中处理异常的方法是什么
    在C#中处理异常的方法可以使用try-catch语句块。在try块中编写可能抛出异常的代码,然后在catch块中捕获并处理这些异常。...
    99+
    2024-03-06
    C#
  • SpringBoot中处理异常的方法是什么
    在SpringBoot中处理异常的方法有以下几种: 使用@ControllerAdvice注解和@ExceptionHandle...
    99+
    2024-03-07
    SpringBoot
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作