自定义异常以及runtime类
一、自定义异常:
1、自定义异常的概念:在java编程中,我们会遇到很多问题,但是这些问题异常,java并没有给我们定义好,那么我们就要自己定义这些异常,这就是自定义异常;
2、throws
是声明异常的,它在函数的后面,后面接异常类名;而throw
是抛出异常的,它定义在函数的里面,后面跟异常对象。如果没有定义抛出,遇到异常,会默认产生一个异常对象,然后抛给函数的调用者,最后会抛给虚拟机,虚拟机调用默认处理方法进行处理。
3.注意所有的自定义异常都要继承Exception这个父类,才能调用父类中的方法,进行抛出操作。
4,在使用getMessage()方法获取信息时,没有信息,我们可以在自定义类中,对对象进行初始化,而且可以调用Exception中的方法,在构造函数中写上super(message);就可以了。
下面通过代码来体现以上特点:
class ExceptionDemo4
{
public static void main(String[] args)
{
Rid r=new Rid();
try
{
int
x=r.function(4,-1);
System.out.println("x="+x);
}
catch(Exception e)
{
System.out.println("chu
shu is fushu");
System.out.println(e.getMessage());
System.out.println(e);
e.printStackTrace();
}
System.out.println("over");
}
}
//定义一个异常类
class ShuFuException extends Exception
{
private String message;
ShuFuException(String message)
{
//this.message=message;
super(message);
}
//父类中已经定义好了getMessage的功能,我们直接
//拿来用就可以了
}
//定义一个功能类
class Rid
{
public int function(int a,int b)throws
ShuFuException
{
if(b<0)
throw new
ShuFuException("除以负数了");
return a/b;
}
}
二、Exception类中有一个特殊的异常子类,就是Runtime类,运行时异常
如果在函数里面抛出异常,即使函数后不声明异常,一样可以编译运行。
如果函数后面声明了异常,即使调用该方法的函数不做出处理,编译一样可以通过,只是没有结果。
所以当异常不需要处理时,我们就继承RuntimeException异常来处理,无法在进行运算时,都要继承这个异常。
自定义异常以及runtime类的更多相关文章
- 深入研究java.lang.Runtime类
一.概述 Runtime类封装了运行时的环境.每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接. 一般不能实例化一个Runtime对象, ...
- 浅析Java.lang.Runtime类
一.概述 Runtime类封装了运行时的环境.每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接. 一般不能实例化一个Runtime对象, ...
- java 23 - 3 单例模式实现Runtime类
Runtime:每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接. 其中一个方法: exec(String command) 在单独的进程中执行指定的字符串 ...
- Runtime类
Runtime类表示运行时的操作类,是一个封装了JVM进程的类,每一个JVM都对应着一个Runtime类的实例,此实例由JVM运行时为其实例化. //========================= ...
- JAVA基础学习之final关键字、遍历集合、日期类对象的使用、Math类对象的使用、Runtime类对象的使用、时间对象Date(两个日期相减)(5)
1.final关键字和.net中的const关键字一样,是常量的修饰符,但是final还可以修饰类.方法.写法规范:常量所有字母都大写,多个单词中间用 "_"连接. 2.遍历集合A ...
- Runtime类及其常用方法
每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接.可以通过 getRuntime 方法获取当前运行时. 常用方法: 1.public static Runt ...
- 深入研究java.lang.Runtime类【转】
转自:http://blog.csdn.net/lastsweetop/article/details/3961911 目录(?)[-] javalang 类 Runtime getRuntime e ...
- java.lang.Runtime类总结 【转】
转自:http://blog.chinaunix.net/uid-128922-id-289994.html Runtime类封装了运行时的环境.每个 Java 应用程序都有一个 Runtime 类 ...
- 【转】深入研究java.lang.Runtime类
一.概述 Runtime类封装了运行时的环境.每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接. 一般不能实例化一个Runtime对象, ...
随机推荐
- HDU 3642 Get The Treasury 线段树+分层扫描线
http://www.acmerblog.com/hdu-3642-get-the-treasury-6603.html 学习:三维就是把竖坐标离散化分层,每一层进行线段树二维面积并就好了
- Unicode中跟汉字相关的一些内容的总结陈词
UniHan 这几天琢磨着怎么方便的给汉字注音, 因为要知道具体哪些Unicode是给汉字用的, 就读了读Unicode的官方文档. 目前unicode已经发展到了7.0. 不看不知道, 发现Unic ...
- python join和split和strip用法
python join 和 split方法的使用,join用来连接字符串,split恰好相反,拆分字符串的. strip()为去除开头结尾指定的字符,空着时是去除空白字符\t,\n,\r意思 1.jo ...
- Python引用传值总结
Python函数的参数传值使用的是引用传值,也就是说传的是参数的内存地址值,因此在函数中改变参数的值,函数外也会改变. 这里需要注意的是如果传的参数类型是不可改变的,如String类型.元组类型,函数 ...
- PHP编码规范整理,很全很实用(图文版)
有一个组织叫做“php互操作性框架制定小组”,这个小组的主要目的是制定各种PHP编码规范的,下面就是我根据小组提供的建议整理的一些常用的编码规范. PSR-1: 1.PHP代码文件必须以<?ph ...
- Method Swizzling 和 AOP 实践(转)
上一篇介绍了 Objective-C Messaging.利用 Objective-C 的 Runtime 特性,我们可以给语言做扩展,帮助解决项目开发中的一些设计和技术问题.这一篇,我们来探索一些利 ...
- 转载ASP.NET 状态管理Application,Session,Cookie和ViewState用法
转载原地址 http://www.cnblogs.com/cuishao1985/archive/2009/09/24/1573403.html ASP.NET状态管理 APPlication,Ses ...
- 获取客户端Ip地址方法
public static string GetIp() { string ip; HttpRequest request = HttpContext.Current.Request; if (req ...
- 关于STM32下载问题的简单理解
首先STM32分为两种下载方式1.ISP(IN-SYSTEM-PROGRAMMING在线编程) 2.JTAG 这里简单谈谈对ISP下载的理解: ISP下载是51单片机,STM等单片机比较常见的一种下 ...
- 利用Chrome模拟访问移动端网页
很多网站都通过User-Agent来判断浏览器类型,如果是3G手机,显示手机页面内容,如果是普通浏览器,显示普通网页内容. 谷歌Chrome浏览器,可以很方便地用来当3G手机模拟器.在Windows的 ...