《java学习笔记》之异常处理机制

本文详细介绍了Java异常处理机制,包括基本语法、如何处理异常、try-catch的理解及应用,强调了增强程序健壮性的重要性。通过实例展示了try-catch-finally的使用,并探讨了自定义异常的创建。此外,还提供了Java学习路线和面试分享。
摘要由CSDN通过智能技术生成

当程序出现了不正常的情况

  • java把异常信息打印到了控制台,供程序员参考,程序员看到异常信息后,可以对程序进行修改

  • 让程序更加健壮,不会因为异常就停止

二.异常处理机制的基本语法


2.1 异常的形式

public class Test01 {

public static void main(String[] args) {

//异常在java以类的形式存在

//通过"异常类"实例化"异常对象"

NullPointerException nullPointerException =new NullPointerException(“空指针异常”);

System.out.println(nullPointerException);//java.lang.NullPointerException: 空指针异常

ArrayIndexOutOfBoundsException arrayIndexOutOfBoundsException =new ArrayIndexOutOfBoundsException(“数组下标越界异常”);

System.out.println(arrayIndexOutOfBoundsException);//java.lang.ArrayIndexOutOfBoundsException: 数组下标越界异常

//mian方法中调用dosome()方法

//因为dosome()方法上声明有:throws ClassNotFoundException

//我们在调用dosom()方法时必须对这种异常进行预先处理

//如果不处理:编译器报错

//编译器报错信息:Error:(19, 15) java: 未报告的异常错误java.lang.ClassNotFoundException; 必须对其进行捕获或声明以便抛出

//dosome();

dosome();

//有两种方法:

//第一种:继续往上抛,因为是main方法调用的,所以在main方法上声明

//第二种方法:使用try-catch对异常进行捕捉

}

//这个方法抛出了一个异常

/*

  • dosom方法在方法声明的时候使用了 throws ClassNotFoundException

  • 这个代码表示dosome()方法在执行的时候,有可能出现ClassNotFoundException异常

  • 叫做类没找到异常,这个异常的父类是Exception,所以ClassNotFoundException是编译时异常

  • */

public static void dosome() throws ClassNotFoundException{

}

}

2.2 怎么处理异常

public class Test02 {

//方法一:继续往上抛,谁调用,谁声明,抛给调用者

//一般不建议在main上方上使用throws,因为这个异常一旦发生了,一定会上抛给JVM,JVM只能终止

//异常处理机制的作用就是增强程序的健壮性。做到异常发生了,也不影响程序的执行

//所以建议main方法的异常建议使用try…catch进行捕捉,就不要上抛了

//public static void main(String[] args) throws ClassNotFoundException{

public static void main(String[] args) {

//第二种:try-catch 捕捉

//捕捉等于把异常拦下了,异常真正的解决了(调用者是不知道的)

try {

dosome();

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

}

public static void dosome() throws ClassNotFoundException{

}

}

2.3 try-catch理解

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.lang.reflect.Field;

public class Test03 {

public static void main(String[] args) {

System.out.println(“main begin”);

//这里使用了try - catch 所以main方法不用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值