java try的用法_Java中try、catch的使用方法

Java中有两种处理异常的方式,分别是用throws抛出异常、用try、catch捕获异常。

try-catch

在Java

try-catch语句的语法格式:

try{

//代码块

}catch(Exception1 e){

//抛出异常后所要进行的操作

}

当try语句当中捕获到异常时,会将异常抛出到catch语句中匹配异常类型,当异常和catch后面的异常类型相匹配时,则catch语句将会执行。

举个最基础的例子,除数不能为0

try中的异常与catch后面的异常类型匹配的情况:

try{

int i = 1/0;//发生异常立即跳往catch语句中执行,不执行异常代码下面的代码

System.out.println("输出结果为:" + i);

}catch(ArithmeticException e){

e.printStackTrace();

System.out.println("编译报错,除数不能为0");

}

输出结果:

b1128ce94ba43644402517279817ef08.png

try中抛出的异常与catch后面的异常类型不匹配的情况:

try{

int i = 1/0;//发生异常立即跳往catch语句中执行,不执行异常代码下面的代码

System.out.println("输出结果为:" + i);

}catch(NullPointerException e){

e.printStackTrace();

System.out.println("编译报错,除数不能为0");

//因为异常类型不匹配所以该catch语句并未执行

}

输出结果:

9bbfd3075deb85654f9ab6672005dabb.png

一个try语句可以接多个catch语句

当有多个catch语句时,try部分的语句如果发生异常,就会在依次在各个catch语句中试图匹配异常类型。

try{

int i = 1/0;//发生异常立即跳往catch语句中执行,不执行异常代码下面的代码

System.out.println("输出结果为:" + i);

}catch(ArithmeticException e){

e.printStackTrace();

System.out.println("运算条件异常");

//try语句捕获的异常与该catch语句后的异常相匹配,所以执行该catch语句

}catch(NullPointerException e){

e.printStackTrace();

System.out.println("空指针异常");

//try语句捕获的异常与该catch语句后的异常不匹配,所以不执行该catch语句

}

JDK1.7之后还有一种不常用的写法:

try{

int i = 1/0;//发生异常立即跳往catch语句中执行,不执行异常代码下面的代码

System.out.println("输出结果为:" + i);

}catch (NullPointerException | ArithmeticException e) {

e.printStackTrace();

if (e instanceof NullPointerException)

System.out.println("空指针异常");

if (e instanceof ArithmeticException)

System.out.println("运算条件异常");

}

这种写法需要通过instanceof 进行判断具体的异常类型。

两种写法的输出都是一样的:

225b6ddb12163aec8ea230a4cac40ee9.png

在catch内部,通常下面的方法输出异常信息:

getMessage() 返回一个字符串对发生的异常进行描述。

printStackTrace() :打印异常信息出错的位置及原因。

到此这篇关于Java中try、catch的使用的文章就介绍到这了,更多相关Java中try catch的使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563806.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java android上传文件_Java-Android-如何将txt文件上传到网站?

我想将txt文件上传到网站,我承认我没有对其进行任何详细的研究,但是我看了一些示例,并希望就我是否朝着正确的方向提出更多的经验性意见. .这是我到目前为止的内容:DefaultHttpClient httpClient new DefaultHttpClient();HttpContext localContext new BasicHttp…

java授查 非授查异常_java检查异常与非检查异常

Java的可检测异常和非检测异常泾渭分明。可检测异常经编译器验证,对于声明抛出异常的任何方法,编译器将强制执行处理或声明规则。非检测异常不遵循处理或声明规则。在产生此类异常时,不一定非要采取任何适当操作,编译器不会检查是…

java not a jpeg file_javax.imageio.IIOException: Not a JPEG file: starts with 0x47 0x49

java处理图片时出现异常javax.imageio.IIOException: Not a JPEG file: starts with 0x47 0x49at com.sun.imageio.plugins.jpeg.JPEGImageReader.readImageHeader(Native Method)at com.sun.imageio.plugins.jpeg.JPEGImageReader.readNativeHeader(Unknown Source)at com.sun…

java if用法_java中if语句的写法

if语句if 语句的语法如下:if(布尔表达式){//如果布尔表达式为true将执行的语句}如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码。免费视频教程推荐:java视频教程if...else语句if 语句后面可以…

java子类和父类实例_java中父类与子类之间的转换示例

java中父类与子类之间的转换示例有以下三点:示例一父类强制转子类pre class"brush:php;toolbar:false">Father f new Son();Son s (Son)f;//可以创建一个父类的实例,想要强制把父类对象转换成子类的,不行!通俗的想…

java 二进制 定义_在Java中,我可以用二进制格式定义一个整数常量吗?

所以,随着Java SE 7的发布,二进制符号标准开箱即用。语法是非常直接和明显的,如果你有一个良好的理解二进制:byte fourTimesThree 0b1100;byte data 0b0000110011;short number 0b111111111111111;int overflow 0b10101010101…

java 原子类能做什么_死磕 java原子类之终结篇(面试题)

概览原子操作是指不会被线程调度机制打断的操作,这种操作一旦开始,就一直运行到结束,中间不会有任何线程上下文切换。原子操作可以是一个步骤,也可以是多个操作步骤,但是其顺序不可以被打乱,也不可以被切割…

java二重循环计数_java的二重循环代码样例

1.计算三个班的平均分import java.util.Scanner;public class AvgScore{public static void main (Sting[] args){int[] score new int[]; //成绩数组int classNum 3; //班级数量double sun 0.0; //成绩总和double[] average new double[classNum];//平均成绩…

java语言sql接口_Java语言SQL接口

Java语言SQL接口编辑锁定讨论上传视频《Java语言SQL接口》是1997年清华大学出版社出版的图书,作者是孙元等。本书覆盖了JDBC的各个方面,适合于有一定的Java语言编程基础和数据库及SQL语言基础的开发人员使用。作 者孙元 / …

java对docker_如何在docker中运行java程序

吃鸡游戏创建一个redis docker容器首先,我们先为redis创建一个DockerfileFROM ubuntu:12.10RUN apt-get updateRUN apt-get -y install redis-serverEXPOSE 6379ENTRYPOINT ["/usr/bin/redis-server"]现在你需要通过Dockerfile创建一个镜像,将…

java 文件树形_java 显示树形文件结构,类似windows的tree命令

本来是个练习题,自己做了做,还行。但是看到别人的代码比我的更好。所以,这里就贴出了别人的代码。我的就只有让它沉睡吧……。是别人的,算是转载吧。转自:他的电脑。主要思想,递归调用。import java.io.Fil…

hdfs的实验总结_实验2-熟悉常用的HDFS操作.doc

本文档下载自 文库下载网,/doc/d52aebffbb0d4a7302768e9951e79b896802689c.html实验2-熟悉常用的HDFS操作实验2熟悉常用的HDFS操作1实验目的1. 理解HDFS在Hadoop体系结构中的角色;2. 熟练使用HDFS操作常用的Shell命令;3. 熟悉HDFS操作常用的J…

java canvas 画图片_canvas画布——画八卦图

浏览器支持Internet Explorer 9、Firefox、Opera、Chrome 以及 Safari 支持 arc() 方法。注释:Internet Explorer 8 或更早的浏览器不支持 元素。定义和用法arc() 方法创建弧/曲线(用于创建圆或部分圆)。提示:如需通过 arc() 来创建圆,请把起…

计算两个数的乘积java编写_Java模拟计算机的整数乘积计算功能示例

本文实例讲述了Java模拟计算机的整数乘积计算功能。分享给大家供大家参考,具体如下:计算机计算整数乘积的原理:实现代码:package math;public class two {/*** Fundamental method* f(n) O(n^2)* param a* param b* return*/publ…

java使用linux常用命令_linux常用Java程序员使用命令(一)

pwd 显示当前路径cd切换目录 . .. ~ls显示文件(夹)-l 显示详细信息-a显示全部,包括隐藏文件(夹)mkdir创建文件夹-p递归创建touch创建空白文件echocat、tac、more、tail 查看文本内容rmdir删除空白文件夹rm-f 强制删除-r递归删除cp复制/新建文件mv移动/重命名find查找…

java中start与loop_java for-loop问题

我正在制作一个Java程序来计算Simpson的积分规则.这是我的代码.注意count 4,9,10,11的输出值中的第二列数字.它们不是我需要的数字,它们不遵循这种模式.我需要这些数字是准确的.发生了什么,我该如何解决?public static void main(String[] args){double totalS 0.…

java查询数据库的方式_Java连接各种数据库方式速查表

1、Oracle8/8i/9i数据库(thin模式)Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();String url"jdbc:oracle:thin:localhost:1521:orcl"; //orcl为数据库的SIDString user"test";String password"test";Connection c…

java多线程编程—高级主题_Java day20 高级编程【第一章】Java多线程编程

【第一章】Java多线程编程一.进程与线程多个时间段会有多个程序依次执行,但是同一时间点只有一个进程执行线程是在进程基础之上划分的更小的程序单元 ,线程是在进程基础上创建并且使用的,所以线程依赖于进程的支持,但是来讲&#…

java object数组转实体类_详解Java中String JSONObject JSONArray List实体类转换

JSON使用阿里的fastJson为依赖包gradle依赖管理如下:compile group: "com.alibaba", name: "fastjson", version:"1.2.41"1、String转JSONObject前言:String 是JSONObject格式的字符串eg:JSONObject jSONObject JSONObje…

mysql中不要 秒的函数_Mysql中日期和时间函数应用不用求人 | 很文博客

对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6 日期和时间类型。这里是一个使用日期函数的例子。下面的查询选择了所有记录,其date_col的值是在最后30天以内:mysql> SELECT something FROM tableWHERE TO_DAYS(NOW()) - …