Java面向对象之异常(异常处理方式)
一、基础概念
(1)异常:Java程序在运行时期发生的不正常情况。
Java就按照面向对象的思想对不正常情况进行描述和对象的封装。
(2)异常问题分类: (Throwable:定义对于问题共性的功能。)
1.Error:由系统底层发生的,jvn告诉使用者。不做针对性处理,直接修改代码。
2.Exception:发生并告诉使用者,可以进行针对性的处理。
(3)异常的处理情况:
1.遇到问题不进行具体的处理,继续抛给调用者。就是在函数上通过throws关键字声明异常。目的是让调用者可以进行处理。
2.针对性的处理方式:捕获!
try
{
//有可能发生异常的代码。
}
catch(异常类 变量)
{
//这是真正的捕获,处理异常的代码;
}
finally
{
//一定会被执行的代码。
}
二、虚拟机处理异常代码
class Demo
{
int div(int a,int b)throws Exception//声明异常Exception
{
return a/b;
}
} class ExceptionDemo1
{
public static void main (String[] arge)throws Exception//将异常Exception抛给虚拟机处理
{
Demo d = new Demo();
int num = d.div(4,0);
System.out.println("num="+num);
System.out.println("over");
}
}
三、捕获处理异常代码(二)
class Demo
{
int div(int a,int b)throws Exception//声明异常Exception
{
return a/b;//throw new ArithmeticException("/ by zero")抛给调用者。
}
} class ExceptionDemo1
{
public static void main (String[] arge)
{
Demo d = new Demo(); //对异常进行处理
try
{
int num = d.div(4,0);
System.out.println("num="+num);
}
catch(Exception e)
{
//处理这个对象,可以使用该对象的方法。
System.out.println("处理异常的代码:除数不能为0");
System.out.println(e.getMessage());//异常信息
System.out.println(e.toString());//异常名称+异常信息
e.printStackTrace();//异常名字+异常信息+位置。jvm默认处理收到异常就是调用这个方法。将信息显示在屏幕上。
}
System.out.println("over");
}
}
Java面向对象之异常(异常处理方式)的更多相关文章
- Java面向对象之异常【一】
目录 Java面向对象之异常[一] 异常的继承体系 Error Exception 异常是否受检 unchecked exceptions(不受检异常) checked exceptions(受检异常 ...
- Java面向对象作业-用接口方式测试向下转型
Java面向对象作业-用接口方式测试向下转型 根据视频的里实例 我们直接修改Test2测试方法: package com.java1234.chap03.sec13; public class Tes ...
- Java面向对象之异常详解
目录 Java面向对象之异常[一] Java面向对象之异常[二] 捕获异常的规则 访问异常信息 异常对方法重写的影响 finally详解 Java面向对象之异常[一] Java面向对象之异常[二] 往 ...
- Java面向对象之异常(自定义异常)
一.基础概念 在自定义的程序中,如果有了问题.也可以像java中的异常一样,对问题进行描述. 注意:1.继承RuntimeException的异常,不需要进行处理.在执行过程中有异常会直接抛出. 2. ...
- JAVA面向对象-----成员内部类的访问方式
成员内部类的访问方式 1.内部类可以直接访问外部类的成员属性.(孙悟空相当于内部类飞到牛魔王的肚子里面去). 2.外部类需要访问内部类的成员属性时需要创建内部类的对象. 1.在外部类的成员函数中创建内 ...
- Java面向对象之异常(throw与throws)
一.基础概念 1.throw和throws的区别: 位置不同:throws用在函数上,后面跟的是异常类,可以跟多个. throw用在函数内,后面跟的是异常对象. 功能不同:throws用来声明异常,让 ...
- Java_IO异常处理方式_入门小笔记
package IO; import java.io.FileWriter; import java.io.IOException; /** * IO异常处理方式 */ class FileWrite ...
- 夯实Java基础系列10:深入理解Java中的异常体系
目录 为什么要使用异常 异常基本定义 异常体系 初识异常 异常和错误 异常的处理方式 "不负责任"的throws 纠结的finally throw : JRE也使用的关键字 异常调 ...
- JAVA异常及其异常处理方式
异常处理 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的.比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error:如果你用Syste ...
随机推荐
- c# tcp udp 的使用场景
之前用tcp实现了一个案例(远程协助),后来我考虑用udp去实现它,于是又研究了下udp,我发现理论上udp可以做到,但是有一些问题不知道会不会有瓶颈 我参照网上写了一个简单的示例如下 服务端接收.发 ...
- jQuery.ajax向后台传递数组问题
今天重温了一个问题,jQuery.ajax向后台传递一个数组,而在后台接收不到该值 前台js方法部分代码如下: //创建一个测试数组 var boxIds = new Array(); boxIds. ...
- SqlServer数据导入到ORACLE
ORACLE中执行 select * from SYSTEM."employ_epl"
- 值得一做》关于一道DP+SPFA的题 BZOJ1003 (BZOJ第一页计划) (normal-)
这是一道数据范围和评测时间水的可怕的题,只是思路有点难想,BUT假如你的思路清晰,完全了解怎么该做,那就算你写一个反LLL和反SLE都能A,如此水的一道题,你不心动吗? 下面贴出题目 Descript ...
- Codeforces 1120D (树形DP 或 最小生成树)
题意看这篇博客:https://blog.csdn.net/dreaming__ldx/article/details/88418543 思路看这篇:https://blog.csdn.net/cor ...
- 2-python代码坑点
#切片: # L = ['aaa', 'bbb', 'ccc', 'ddd'] # print(L[1 : 3]) #取[1, 3):下标 # L = list(range(100)) # print ...
- ROS naviagtion analysis: costmap_2d--StaticLayer
博客转载自:https://blog.csdn.net/u013158492/article/details/50493246 从UML中能够看到,StaticLayer主要是在实现Layer层要求实 ...
- Django框架 之 logging配置
Django框架 之 logging配置 logging配置文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2 ...
- Python基础入门-数据类型
一.变量 1)变量定义 在python中,我们可以把变量理解为一个值,变量是一个标签名,变量是有对应的一个值. name = 100(name是变量名 = 号是赋值号100是变量的值) 2)变量赋值 ...
- using JSTL
http://docs.oracle.com/javaee/5/tutorial/doc/bnake.html JSTL(JSP Standard Tag Library)