异常处理

本文深入解析了Java中的异常处理机制,包括try-catch-finally结构的使用,自定义异常类的创建,以及如何通过printStackTrace、toString和getMessage方法获取异常信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

异常的处理机制——捕获机制:try-catch-finally
try:监控区域,执行可能产生异常的代码
catch:捕获,异常处理
finally:善后处理,无论是否发生异常,代码总要执行

package data;
import java.util.InputMismatchException;
import java.util.Scanner;
public class ExceptionDemo1 {
	public static void main(String[] args)
	{
		System.out.println("Please input a num:");
		Scanner scan=new Scanner(System.in);
		int res=0;
		try 
		{
			//System.exit(0);执行这句代码finally语句块内容将不会被执行
			int num=scan.nextInt();
			res=10/num;
		}
		catch(InputMismatchException e)//键盘输入的数据类型不匹配时抛出的异常
		{
			System.out.println(e.getMessage());
		}
		catch(ArithmeticException e)//除数为0时抛出的数学异常
		{
			System.out.println(e.getMessage());
		}
		catch(Exception e)//把确定可能抛出的异常类放在基类Exception前面,用基类Exception捕获未知的异常
		{
			System.out.println(e.getMessage());
		}
		finally
		{
			//finally代码块无论如何都会执行,除非try块中有System.exit(0);
			//释放资源,比如关闭打开的文件,删除一些临时文件等
			System.out.println("result:"+res);
		}
	}

}

(1)使用printStackTrace方法可以显示异常调用栈的信息;(得到异常出现的位置)
(2)使用toString方法可以得到异常处理的字符串表示;(得到异常所属的类)
(3)使用getMessage方法可以得到异常对象中携带的出错信息。(得到异常信息)
一个使用自定义异常类的程序:

public class yichang
{

	public static void main(String[] args)
	{
		//创建一个自定义异常对象
		MyException me=new MyException("自定义异常");
		//获取自定义异常信息
		System.out.println("自定义异常对象携带的错误信息为:"+me.getMessage());
		System.out.println("自定义异常的字符串表示为:"+me.toString());

	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值