我的编程空间,编程开发者的网络收藏夹
学习永远不晚

JAVA异常处理方式是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

JAVA异常处理方式是什么

这篇文章主要讲解了“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异常处理方式是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

JAVA异常处理方式是什么

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

下载Word文档

猜你喜欢

JAVA异常处理方式是什么

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

Python常见异常的处理方式是什么

这篇文章主要介绍“Python常见异常的处理方式是什么”,在日常操作中,相信很多人在Python常见异常的处理方式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python常见异常的处理方式是什么”的疑
2023-07-05

SpringBoot全局异常处理方式是什么

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

Java异常处理的的方法是什么

本篇内容主要讲解“Java异常处理的的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java异常处理的的方法是什么”吧!1) 为可恢复的错误使用检查型异常,为编程错误使用非检查型错误。
2023-06-16

java项目异常处理的方法是什么

在Java项目中,有多种方法可以处理异常,包括:1. try-catch块:使用try-catch块可以捕获并处理异常。在try块中编写可能发生异常的代码,如果发生异常,则在catch块中处理异常。```javatry {// 可能发生异常
2023-09-16

Java异常处理规则是什么

这篇文章主要讲解了“Java异常处理规则是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java异常处理规则是什么”吧!  举个例子,想象你有一个加载了这个接口的服务器应用:   pub
2023-06-03

Scala异常处理方法是什么

这篇“Scala异常处理方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Scala异常处理方法是什么”文章吧。Sca
2023-06-27

java异常处理机制原理是什么

Java异常处理机制的原理是基于异常(Exception)的概念。在Java中,异常是指在程序运行过程中发生的错误或异常情况。当代码出现异常时,可以使用异常处理机制来捕获和处理异常,以保证程序的正常运行。Java的异常处理机制基于三个关键词
2023-09-16

Java异常处理的优劣是什么

本篇内容介绍了“Java异常处理的优劣是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先解释一些java异常处理中必须搞清楚的定义和机
2023-06-17

Python之异常值检测和处理方式是什么

这篇文章主要讲解了“Python之异常值检测和处理方式是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python之异常值检测和处理方式是什么”吧!1 什么是异常值?在机器学习中,异常检
2023-07-02

Scala异常处理的方法是什么

这篇文章主要介绍“Scala异常处理的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Scala异常处理的方法是什么”文章能帮助大家解决问题。Scala异常处理Scala是一种多范式的编程语
2023-07-05

Java异常类型分析及处理方法是什么

今天就跟大家聊聊有关Java异常类型分析及处理方法是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言:Java异常,大家都很熟悉。但是对于具体怎么分类的,JVM对其怎么处理的,
2023-06-22

Java异常的处理方式有哪些

这篇文章主要介绍“Java异常的处理方式有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java异常的处理方式有哪些”文章能帮助大家解决问题。什么是异常?异常在我们写代码是特别常见,因为程序员大
2023-06-30

THINKPHP调试模式及异常处理的方法是什么

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

java中异常处理机制的原理是什么

Java中的异常处理机制是基于异常类的继承关系和异常处理代码块的机制。当程序发生异常时,会抛出一个异常对象,该异常对象会沿着调用链向上抛出,直到被捕获并处理或者直到程序终止。Java中的异常类都是从java.lang.Throwable类派
2023-08-31

Python中处理异常的方法是什么

在Python中处理异常的方法是使用try-except语句。try块中包含可能会抛出异常的代码,而except块中包含处理异常的代码。例如:try:# 可能会抛出异常的代码result = 10 / 0except ZeroDivis
Python中处理异常的方法是什么
2024-03-12

Python中的异常处理方法是什么

这篇文章主要介绍“Python中的异常处理方法是什么”,在日常操作中,相信很多人在Python中的异常处理方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python中的异常处理方法是什么”的疑惑有所
2023-07-06

C#中处理异常的方法是什么

在C#中处理异常的方法可以使用try-catch语句块。在try块中编写可能抛出异常的代码,然后在catch块中捕获并处理这些异常。例如:try{// 可能抛出异常的代码}catch (Exception ex){// 处理异常的
C#中处理异常的方法是什么
2024-03-06

SpringBoot中处理异常的方法是什么

在SpringBoot中处理异常的方法有以下几种:使用@ControllerAdvice注解和@ExceptionHandler注解来处理全局异常。通过创建一个全局异常处理类,使用@ControllerAdvice注解标记这个类,然后在方法
SpringBoot中处理异常的方法是什么
2024-03-07

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录