首页 > 编程语言 >java —— 异常处理

java —— 异常处理

时间:2024-05-27 14:32:09浏览次数:30  
标签:Exception java String 自定义 处理 抛出 异常 throws

一、认识异常

java 中的异常大致分为三类:编译错误、逻辑错误、运行异常。其中编译错误和逻辑错误通常手动更改即可,运行异常是异常处理的主要内容。

java 中的异常全部继承自 Exception 类,其常见的子类如下:

查看异常,例如:

二、异常处理

异常处理分为捕获异常和抛出异常,捕获异常是自己解决,抛出异常是交给调用者解决。

(一)捕获异常

捕获异常通过 try{……} catch() {……} finally{……} 模式解决,try 里面填写可能出现异常的代码;catch 括号里声明异常类型,代码块里写处理方式;finally 里面填写不论是否出现异常都要执行的代码(可选)。

例如: 

public static void main(String[] args) 
{
	int[] intarr= {0,0,1};	
    try
	{
		System.out.println(intarr[3]);		//显然下标已经越界	
	}
	catch(Exception e)                      //声明异常对象 e
	{
		e.printStackTrace();                //调用.printStackTrace()方法,打印异常内容
	}
	finally
	{
		System.out.println("代码执行完毕");
	}
}

 (二)抛出异常

抛出异常通过 throws 关键字实现,在方法参数括号后加 throws 异常类型 即可,这种方法并没有将异常解决,其他人在调用方法时需要对异常再次处理。

public static void main(String[] args) throws Exception
{
	方法体;
}

三、自定义异常

自定义异常通过关键字 throw 实现,首先声明一个异常:

Exception e=new Exception("异常信息提示");

而后在需要抛出异常的位置,throw e 即可。

public static void main(String[] args) throws Exception 
{
	Exception e=new Exception("长度不对");     //自定义异常
	Scanner input=new Scanner(System.in);
	String x=input.next();
	if(x.length()!=3)
	{			
		throw e;                             //抛出异常
	}		
}

 如果输入的字符串长度不等于 3,就抛出异常,异常信息为:长度不对。

标签:Exception,java,String,自定义,处理,抛出,异常,throws
From: https://blog.csdn.net/firstgrass/article/details/139234959

相关文章

  • Java EE-Spring AOP 面向切面编程
    SpringAOPhttps://www.cnblogs.com/joy99/p/10941543.html超级详细版:Chapter 6. 使用Spring进行面向切面编程(AOP)AOP原理面向切面(AspectOrientProgramming)面向切面编程,是面向对象编程(OOP)的一种补充。在Java程序自上而下处理主业务时,也会经常处理一些和主......
  • java如何创建Class对象?
    请思考一个问题:如果你想在java程序运行时获得某个类的信息,你会怎么办?首先要获得该类的Class对象,然后才可以通过Class类中的方法来获得与该Class对象相对应的类的信息。有3种方法来获得类的Class对象:1.用Class类的forName()方法。例如:Class.forName("java.lang.String");    ......
  • hdu1069java
    给你n个方块,其中每个方块具有它的长宽高(方块可以任意旋转放置),方块数量不限。现在你要堆一个高塔,上面方块的长和宽必须严格小于下面方块的长和宽。问你能堆起来的最大高度。先将方块以长和宽按从小到大排序,然后从小到大以此为底,求出最大高度。dp[i]=max(dp[j])+i.height(j.x<i.x......
  • PyTorch的数据处理
    ......
  • JavaScript 中 toString 的奇妙使用
    JavaScript中的toString()方法,我们通常会一些其他类型的变量,转为字符串类型。但这里还有一些其他奇妙的用法。不同的类型调用toString()会得到不同的结果。我们来一一分析下。1.函数类型我们开发者自定义的函数,和JavaScript官方内置的函数,在调用toString时,输出是不一样......
  • Java 三大特性之封装(包含构造器,this关键字详解)
    java封装在Java中,面向对象的封装(Encapsulation)是一种将对象的属性和行为(数据和方法)包装在一起,隐藏对象的属性和实现细节,仅对外提供公共访问方式来操作该对象的方法。封装的主要目的是增强安全性和简化编程,同时使代码更易于维护和扩展。java封装的特点1.良好的封装能够减少......
  • java 三大特性之多态
    多态多态就是基于继承条件下,具有对象多态(一个人可以是儿子,可以是父亲等),行为多态(都可以跑,但跑的有快有慢)。特点1.多态存在方法重写2.多态编译看左边,运行看右边3.变量没有多态性4.多态下不能使用子类的独有功能好处多态可以使程序有良好的扩展,并可以对所有类的对象进行通......
  • java中的类加载器
    类加载器(ClassLoader)是Java虚拟机(JVM)的一部分,它负责将类文件(.class)加载到内存中,并在运行时为应用程序提供类的定义。类加载器在Java中起着至关重要的作用,因为它们允许Java应用程序在运行时动态加载类,这对于大型和复杂的应用程序尤为重要。本文将深入探讨Java中的类加载器,讨论它......
  • Java学习【面向对象综合练习——实现图书管理系统】
    Java学习【面向对象综合练习——实现图书管理系统】前期效果图书的创建用户的创建操作的实现完善操作显示图书查找图书新增图书借阅图书归还图书删除图书前期效果用户分为普通用户和管理员,登录进系统之后可以对图书进行一系列操作,此时我们要明白,对图书的操作是通过......
  • Java常见流的分类及简单讲解
    目录一、梳理总结一 1.字节流:2.字符流:二、梳理总结二什么是IO流字符流与字节流的关系缓冲流BufferedReader/BufferedWriter,BufferedInputStream/BufferedOutputStream一、梳理总结一 流在Java中是指计算中流动的缓冲区。从外部设备流向中央处理器的数据流成为......