异常简要介绍:

异常:

一.概念:在程序运行过程中,出现的非正常情况或由开发人员主动抛出能够结束当前流程的情况。
二.异常的关键字:
try(类似把嫌疑人进行监控):
用法:把可能出现异常的代码块包在try中
范式:

try{
	//可能出现异常的代码块
	}
	

catch(发现嫌疑人,捕捉并处理):出现异常后捕捉处理,并声明所捕捉到异常的类型。

try{
 //可能出现异常的代码块
 }catch(异常类型 名){
 	//出现异常后的处理
 }

finally:无论是否有异常都会执行

try{
 //可能出现异常的代码块
 }catch(异常类型 名){
  //出现异常后的处理
 }finally{
 //执行语句块
 }

throws:声明异常,提前声明可能出现的异常,位置在方法头的最后,在方法体的前边。
范式:修饰符 返回类型 方法名()throws 可能出现的异常类型{ 方法体}。
(说明:在throws 后可以声明多个异常类型,中间用,分割,但一般不会很多,且前边声明后,后边必须要对声明的异常,进行捕捉)。
throw:手动抛出,与throws一起使用。
三.java中常见异常:
① java.lang.NullPointerException空指针异常:程序遇上了空指针 ,简单地说就是调用了未经初始化的对象或者是不存在的对象。
②java.lang.ClassNotFoundException找不到类异常:指定的类不存在 。
③java.lang.ArithmeticException数学运算异常:除以零这样的运算就会出这样的异常。
④java.lang.ArrayIndexOutOfBoundsException数组下标越界:下标超出了数组的范围。
⑤java.lang.IllegalArgumentException方法的参数错误:输入的参数不匹配。

四.异常处理原则:
1.为了保证程序能够继续执行
2.对用户友好
五.异常分类:
在这里插入图片描述

说明:Checked Exception,又被称为“已检查异常(写代码时,编译器自己报错)。

六.自定义异常:
①所有的异常类的父类是:exception
②创建一个普通类–>继承 exception类–>按需要去定义构造器
③自定义异常类应该包含2个构造器:一个是默认的构造器,另一个是带有详细信息的构造器。

class IllegalAgeException extends Exception {    //默认构造器    
	public IllegalAgeException() {     

    }    //带有详细信息的构造器,信息存储在message中   
      public IllegalAgeException(String message) {     
         	 super(message);  
     	   }
        }
        ===============
        class Person {   
         private String name;   
         private int age;    
         public void setName(String name) {      
             this.name = name;   
              }     
          public void setAge(int age) throws IllegalAgeException { 
                if (age < 0) {    
      		 throw new IllegalAgeException("人的年龄不应该为负数");   
      			   }    
      			    this.age = age;  
		  } 
		public String toString() {   
		           return "name is " + name + " and age is " + age; 
		              }
	} 
	============
public class TestMyException {   
	 public static void main(String[] args) {      
	   Person p = new Person();       
	    try {           
	    		 p.setName("Lincoln");        
	        	 p.setAge(-1);      
	           } catch (IllegalAgeException e) {   
	                    e.printStackTrace();         
	                       System.exit(-1);        
	                       }       
	                        System.out.println(p);  
	                      }
	                         
	                }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值