04-Java 异常
1、认识异常:异常是导致程序中断运行的一种指令流,如果不对异常进行正确处理,则可能导致程序的中断执行,造成不必要的损失。
int a=10;
int b=0;
int temp=a/b;
System.out.println(temp);
2、处理异常
格式:try{ 异常语句 }
Catch(Exception e) { }
Finally { 一定会执行的代码 }
3、常见异常:
(1)数组越界异常:ArrayIndexOutOfboundsException
(2)数字格式化异常:NumberFormatException
(3)算数异常:ArithmeticException
(4)空指针异常:NullPointerException
class Exc{
int a=10;
int b=10;
}
public static void main(String[] args) {
int temp =0;
Exc e=null;
e=new Exc();
try {
temp=e.a/e.b;
System.out.println(temp);
} catch (NullPointerException e2) {
System.out.println("空指针异常:"+e2);
}catch (ArithmeticException e2) {
System.out.println("算数异常:"+e2);
}finally{
System.out.println("程序退出。");
}
结果: 1
程序退出。
把第三行注释掉:结果:空指针异常:java.lang.NullPointerException
程序退出。
把b=10改为0,结果是:
算数异常:java.lang.ArithmeticException: / by zero
程序退出。
4、throws关键字:
在定义一个方法时,可以使用throws关键字声明,表示该方法不处理异常,抛给方法的调用者处理。
格式:public void tell () throws Exception {}
5、throw关键字:抛出一个异常,抛出的时候直接抛出异常类的实例化对象即可。
public static void main(String[] args) {
try {
throw new Exception("实例化异常对象");
} catch (Exception e) {
System.out.println(e);
结果:java.lang.Exception: 实例化异常对象
6、自定义异常:有些异常比较难找,这时自定义异常发挥作用。
直接继承Exception就可以完成自定义异常。
class MyException extends Exception{
public MyException(String msg) {
super(msg);
}
}
public class ExceptionDemo02 {
public static void main(String[] args) {
try {
throw new MyException("自定义异常");
} catch (MyException e) {
System.out.println(e);
结果:com.jike.exc.MyException: 自定义异常
04-Java 异常的更多相关文章
- Java基础10:全面解读Java异常
更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...
- Java异常(二) 《Effective Java》中关于异常处理的几条建议
概要 本章是从<Effective Java>摘录整理出来的关于异常处理的几条建议.内容包括:第1条: 只针对不正常的情况才使用异常第2条: 对于可恢复的条件使用被检查的异常,对于程序错误 ...
- 这样设计 Java 异常更优雅,赶紧学!
来源:lrwinx.github.io/2016/04/28/如何优雅的设计java异常/ 导语 异常处理是程序开发中必不可少操作之一,但如何正确优雅的对异常进行处理确是一门学问,笔者根据自己的开发经 ...
- 038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结
038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结 本文知识点:案例演示switch结构并对sw ...
- 这样设计 Java 异常更优雅
转自:lrwinx.github.io/2016/04/28/如何优雅的设计java异常/ 导语 异常处理是程序开发中必不可少操作之一,但如何正确优雅的对异常进行处理确是一门学问,笔者根据自己的开发经 ...
- 浅谈java异常[Exception]
学习Java的同学注意了!!! 学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:589809992 我们一起学Java! 一. 异常的定义 在<java编程思想 ...
- 基础知识《十》java 异常捕捉 ( try catch finally ) 你真的掌握了吗?
本文转载自 java 异常捕捉 ( try catch finally ) 你真的掌握了吗? 前言:java 中的异常处理机制你真的理解了吗?掌握了吗?catch 体里遇到 return 是怎么处理 ...
- Java异常体系及分类
上图是基本的java异常体系结构. 主要分为2大类:Error和Exception 1.Error:描述了Java运行系统中的内部错误以及资源耗尽的情形.应用程序不应该抛出这种类型的对象,一般是由虚拟 ...
- Java异常之自定义异常
哎呀,妈呀,又出异常了!俗话说:"代码虐我千百遍,我待代码如初恋". 小Alan最近一直在忙着工作,已经很久没有写写东西来加深自己的理解了,今天来跟大家聊聊Java异常.Java异 ...
- 第11章 Java异常与异常处理
1.Java异常简介 1.什么是异常异常出现的时候代码会无法正常运行下去,会产生各种问题2.捕捉异常的作用提早发现异常,方便查找问题,并给出解决方法3.Java中的异常1.Java中所有不正常的类都是 ...
随机推荐
- php大力力 [003节]php在百度文库的几个基础教程mac环境下文本编辑工具
2015-08-22 php大力力003.mac环境下文本编辑工具 在windows下,使用notepad特别多.在mac下使用“备忘录”app,word,反而没有存储过txt后缀等不同文本. mac ...
- Android与服务器http连接模块代码
package com.example.httpdemo2; import java.io.BufferedReader; import java.io.IOException; import jav ...
- ios学习之 关于Certificate、Provisioning Profile、App ID的介绍及其之间的关系
刚接触iOS开发的人难免会对苹果的各种证书.配置文件等不甚了解,可能你按照网上的教程一步一步的成功申请了真机调试,但是还是对其中的缘由一知半解.这篇文章就对Certificate.Provisioni ...
- 5、C#基础整理(for 语句经典习题--与 if 的嵌套)
1.for循环最基本运用:小球每次落地后再弹起是以前的4/5,求第5次弹起后的高度 ; i < ; i++) { high = high*/; } Console.WriteLine(" ...
- 5、SQL基础整理(字符串函数)
字符串函数 ASCII 返回字符串首字母的ascii编码 select ASCII('name') select ASCII(name) from xuesheng select *from xues ...
- nno_setup制作升级包必须面临的几个问题 2
这两天的时间一直在制作应用程序的升级包,期间碰到一些问题这里一并记录下来,相信这是制作升级包必须面临和解决的问题: 1. 升级包安装程序如何不再产生新的安装.卸载程序 Inno_setup中AppId ...
- Entityframework批量删除
UI层 <a href="#" onclick="DelData(0);return false;" id="a_del" class ...
- 内存回收,Dispose,Close,Finalie(C#中的析构函数)
NET中的资源分托管和非托管,所谓的托管是指CLR(通用语言运行时)中进行管理的资源,它可以由CLR自动进行内存回收. 也就是大家熟知的GC(垃圾回收机制). 而对于 非托管资源,比如数据库连接,CO ...
- ‘Cordova/CDVViewController.h’ file not found Xcode 7.1
Add this line to your Build Settings -> Header Search Paths: "$(OBJROOT)/UninstalledProducts ...
- elfutils-libelf由于依赖而安装失败
在Redhat安装Oracles前需要按照依赖包,但是在安装elfutils-libelf遇到了两个包相互依赖的情况 [root@rhvm1 /]# rpm -i elfutils-libelf-de ...