Java异常处理简单实例

Java异常处理简单实例Java异常处理异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出java.lang.ArithmeticException的异常。异常发生的原因有很多,通常包含以下几大…

大家好,又见面了,我是你们的朋友全栈君。

Java异常处理

异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。

比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出 java.lang.ArithmeticException 的异常。

异常发生的原因有很多,通常包含以下几大类:

  • 用户输入了非法数据。
  • 要打开的文件不存在。
  • 网络通信时连接中断,或者JVM内存溢出。

这些异常有的是因为用户错误引起,有的是程序错误引起的,还有其它一些是因为物理错误引起的。-

要理解Java异常处理是如何工作的,你需要掌握以下三种类型的异常:

  • 检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。
  • 运行时异常: 运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。
  • 错误: 错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。

Java异常体系结构

Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Error和异常Exception

Java异常处理简单实例

问题

编程实现输入一个正整数,求该数的阶乘的程序。要求能捕获输入数字格式异常(NumberFormatException),即当输入字符不是正整数时,能出现提示信息“输入数据格式不对,请重新输入一个正整数”。

 

代码

package training8;

import java.util.InputMismatchException;
import java.util.Scanner;

public class MutilTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("请输入一个正整数:");
		Scanner sc=new Scanner(System.in);
		int n=-1;
		long sum=1;
		try {
			n=sc.nextInt();
		} catch (Exception e) {
			// TODO: handle exception
			System.out.println("输入数据格式不对,请重新输入一个正整数\n");
		}
		//n=sc.nextInt();
		sc.close();
		if(n!=-1)
		{
		for(int i=1;i<=n;i++)
			sum*=i;
		 System.out.printf("%d!=%d",n,sum);
		}
		sc.close();
		}

}

运行结果

Java异常处理简单实例

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/144504.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • python如何读取sql文件_sql数据库常用命令

    python如何读取sql文件_sql数据库常用命令基本思路:①读sql文件,整理出sql语句;②执行sql语句。简单代码如下:#db_cursor→由db_cursor()创建,sql_file→sql文件defread_SQL(self,db_cursor,sql_file):#打开文件fpfp=open(sql_file,encoding=’utf8′)#读文件file=fp.readlines()#sql语句集合(

  • ubuntu16.04.3安装教程_Ubuntu16下安装QQ

    ubuntu16.04.3安装教程_Ubuntu16下安装QQUbuntu16.04.1安装NginxNginx(“enginex”)是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx是由IgorSysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集

  • 超多淘宝京东抢购秒杀软,脚本,易语言软,有作者

    超多淘宝京东抢购秒杀软,脚本,易语言软,有作者抢购软件主页进行下载,欢迎交流

  • ZIP 压缩解压命令

    ZIP 压缩解压命令压缩一个文件,打开cmd窗口 zip f:\wenjian.zip f:\wenjian.txt压缩一种格式的文件 zip f:\wenjian.zip f:\*.txt压缩文件夹及里面的内容 -r表示压缩文件夹wenjian及里面的内容 zip-rf:\wenjian.zip wenjian  移除压缩包里的一

  • 视频压缩算法的相关知识(转载)

    视频压缩算法的相关知识(转载)视频压缩算法的相关知识视频压缩的基本原理,一些常见压缩算法的概念视频压缩算法的相关知识视频压缩基本概念视频压缩算法的相关知识MPEG-1MPEG视频压缩编码后包括三种元素:I帧(I-fram

  • 三极管导通条件[通俗易懂]

    三极管导通条件[通俗易懂]1、对于NPN型三极管来说,其功能是用基极B极小的电流去引出集电极C巨大的电流,Ibe电流大小由Ib基极电流决定。2、三极管相当于两个二极管组成,所以只要PN结压差大于0.7V,有电流有就导通了3、NPN型:截止态:Ube<0.7V放大态:Ube>0.7V,Uc>Ub>Ue,集电极处于正向压差,基极处于反向压差PNP:截止态:Ueb<0.7V…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号