Java基础入门之异常、异常分类、异常防护解析

开发 后端
这篇文章我们主要介绍Java基础入门之异常、异常分类、异常防护知识,一起来学习下吧!

[[383489]]

前言

大家好,我是Java进阶者。这篇文章我们主要介绍Java基础入门之异常、异常分类、异常防护知识,一起来学习下吧!

一、异常

(一)什么是异常

在我们现实生活中,例如感冒发烧、电脑突然出现蓝屏等,在程序中也会出现不正常的情况,例如磁盘不足、网络中断等,像我们手机有时候微信会出现弹窗提示无法响应。在程序执行中,任何中断正常程序运行就是异常。

(二)java中引起异常因素

第一种,Java 虚拟机检测到不正常的运行,这些状态可能是由以下几种情况引起的:

1.表达式算数异常,例如3被0整数。

2.在载入程序时出现错误。

3.超出某些限制资源,例如使用的内存空间太多了。

第二种,Java代码中的throw 语句被运行。

第三种,异步异常,这个异常可能的原因是

1.thread 的stop 方法被执行。

2.Java 虚拟机内部出现错误。

(三)java处理异常有两种方式捕获异常和抛出异常

1.捕获异常:当明确知道怎么去处理这些异常时,采取捕获的方式进行处理。

2.抛出异常:当不知道怎么去处理这些异常时,采取抛出的方式进行处理。

(四)异常例子

例如:

  1. public class p34 { 
  2. public static void main(String[] args) { 
  3.         // TODO Auto-generated method stub 
  4.         int result=div(6,0);//调用div()方法 
  5.         System.out.println(result); 
  6. //此方法实现两个整数相除 
  7. public static int div(int a,int b){ 
  8.         int result=a/b;//定义一个int类型变量result,保存两个数相除结果 
  9.         return result;//结果返回值 
  10.   } 

运行的结果是:

 

我们从上面的运行结果可以看到java.lang.ArithmeticException,这个异常是调用div()方法传入了0,在运算时出现错误,因为是被0整除。在Java运行时系统找不到可以捕获异常的方法,就会运行时系统将终止,相应的Java程序也将退出。

二、异常分类

Object是所有类的父类或基类,Throwable类分别由两个子类Error和Exception。Error表示的是产生的错误,Exception表示产生的异常。


Error类表示错误类,表示在程序在运行产生系统出现错误或超出某些限制资源,这种情况是如果改程序本身是不能恢复的运行的。

Exception类表示异常类,表示本身可以处理错误,在开发程序中进行异常处理,针对它的子类。

Throwable类常用方法

String getMessage()方法是返回Throwable详细信息字符串

Void printStackTrace()方法是把 Throwable 及其追踪输出至标准错误流。

Void printStackTrace()方法是把 Throwable 及其追踪输出到指定输出流。

三、try...catch语句

1.如果Java运行时系统找不到可以捕获异常的方法,则运行时系统将终止,相应的Java程序也将退出。解决这个问题使用一种异常进行的处理方式是异常处理。

2.异常捕获语法

  1. try  
  2. {  
  3. //可能发生异常的代码块;  
  4. }  
  5. catch(异常类型  异常的对象名)//捕获并处理异常 
  6. //异常处理代码块;  

3.使用try...catch语句例子

  1. public class p35 { 
  2. public static void main(String[] args) { 
  3.         // TODO Auto-generated method stub 
  4.         //定义一个try...catch语句捕获异常 
  5.         try{ 
  6.             int result=div(6,0);//调用div()方法 
  7.             System.out.println(result); 
  8.         }catch(Exception e){//捕获并处理异常 
  9.             System.out.println("捕获异常信息为"+e.getMessage()); 
  10.         } 
  11.         System.out.println("程序继续向下执行"); 
  12. //此方法实现两个整数相除 
  13.         public static int div(int a,int b){ 
  14.             int result=a/b;//定义一个int类型变量result,保存两个数相除结果 
  15.             return result;//结果返回值 
  16.         } 

运行的结果是:


从上面代码中,try代码块是可能发生异常的代码块,发生被0整除,接着运行catch代码调用Exception对象的getMessage()方法,返回异常信息/ by zero。处理完后继续往下执行。

四、总结

本文主要介绍了异常、异常分类、try...catch语句。

异常是在程序执行中,任何中断正常程序运行就是异常。介绍了引起异常的因素,java处理异常有两种方式捕获异常和抛出异常,使用异常的例子来帮助理解什么是异常。

异常分类Object是所有类的父类或基类,Throwable类分别由两个子类Error和Exception。介绍了Throwable类常用方法。

当Java运行时系统找不到可以捕获异常的方法,则运行时系统将终止,相应的Java程序也将退出,使用try...catch语句解决这个问题。

希望大家通过本文的学习,对你有所帮助!

 

责任编辑:姜华 来源: Java进阶学习交流
相关推荐

2021-03-18 10:01:06

Java编译异常运行异常

2021-02-22 08:39:03

Java关键字Java基础

2022-10-11 09:33:04

Java异常Exception

2012-12-21 10:48:20

Java异常

2018-08-20 16:25:48

编程语言Java异常处理

2023-12-11 14:19:00

Java程序异常

2011-03-28 09:17:14

Java 7mutilcatch

2012-11-12 10:32:48

IBMdw

2018-07-11 19:41:47

MySQL定义异常异常处理

2009-12-24 15:04:12

WPF代码解析异常

2021-07-08 11:22:55

Java异常处理

2022-12-28 08:17:19

异常处理code

2023-03-01 09:07:44

前端监控异常

2011-04-06 11:08:52

Java异常

2010-06-09 09:18:34

.NET 4并行编程

2023-12-27 07:53:08

全局异常处理处理应用

2013-08-22 17:10:09

.Net异常处理

2021-02-16 10:51:27

JavaJDKException

2011-12-21 11:18:59

Java

2015-02-03 14:45:55

android全局异常
点赞
收藏

51CTO技术栈公众号