java异常练习2
/*
有一个圆形和长方形
都可以获取面积,对于面积,如果出现非法数值,视为获取面积出现问题
问题通过异常来表示。
先要对这个程序进行基本的设置
*/
/*首先想一下,怎么写这个程序
基本属性是肯定要的
求面积呢?
1.可以定义成函数
2.可以定义成接口
3.或者数据库什么的
*/
interface Shape /*可以直接打印,可以返回*/
{
void getArea(); /*要传递参数吗?不需要,因为这是抽象类,需要把一些共同的属性抽取出来,这里并没有,需要重写,这里重新获取就可以*/
}
class NoValueException extends RuntimeException
{
NoValueException(String message) /*构造函数*/
{
super(message); /*调用父类的构造函数*/ /*这里是父类的错误信息,直接能够赋值的*/
}
}
class Cricle implements Shape
{
private int radius;
public static final double PI=3.14;
Cricle(int radius)
{
if(radius<0)
throw new RunTimeException("非法"); /*使用这个异常名称不好,不好处理问题,应该自定义名称*/
this.radius=radius;
}
public void getArea()
{
System.out.println(radius*radius*PI); /*不需要改动的值起一个名字 PI*/
}
} class Rec implements Shape /*长方形*/
{
private int len,wid; /*定义长和宽*/
Rec(int len,int wid) /*这哥们一初始化就有这个东西*/
{
if(len<=0||wid<=0)
{
throw new NoValueException("出现非法值");
} this.len=len; /*进行赋值*/
this.wid=wid; }
public void getArea() /*进行重写*/
{
System.out.println(len*wid); /*直接打印输出面积*/
}
} class ExceptionText1
{
public static void main(String args[])
{
//try /*检测代码块*/
//{
Rec r=new Rec(3,4); /*你发现输入负数,面积为负数,这是不允许的,以前用if避免,但现在,请你用*/
r.getArea(); /*如果上面的代码出现了错误,这块就不运行了*/
//}
//catch(NoValueException e) /*接收异常,这种处理是没有用的*/
//{
//System.out.println(e.toString()); /*输出异常信息*/
//}
System.out.println("over"); /*最后输出*/ /*然而运行这是没有用的,还不如直接用运行时异常,不需要检查捕捉处理,直接停掉*/
}
}
java异常练习2的更多相关文章
- 浅谈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中所有不正常的类都是 ...
- java 异常
1.java异常 2.自定义抛出 3.运行时异常,程序有问题,让使用者可以改' ' 4.return 和 throw的区别 return 符合函数要求的值 throw 有问题的时候用它结束 ...
- 3.Java异常进阶
3.JAVA异常进阶 1.Run函数中抛出的异常 1.run函数不会抛出异常 2.run函数的异常会交给UncaughtExceptionhandler处理 3.默认的UncaughtExceptio ...
- 2.Java异常学习
1.Java异常的概念 异常的例子 1.除法就是一个需要捕获异常的例子,除数又可能是0 异常处理的基本流程如下 一旦发生异常,就使得程序不按照原来的流程继续的运行下去 a.程序抛出异常 try{ th ...
- java异常架构图 和几个面试题
1.java异常架构图 粉红色的是受检查的异常(checked exceptions),其必须被 try{}catch语句块所捕获,或者在方法签名里通过throws子句声明.受检查的异常必须在编译时被 ...
- 黑马----JAVA异常
黑马程序员:Java培训.Android培训.iOS培训..Net培训 黑马程序员--JAVA异常 一.JAVA异常有三种语句块:try语句块.catch语句块.finally语句块. 1.try语句 ...
随机推荐
- POJ 1703 Find them, catch them (并查集)
题目:Find them,Catch them 刚开始以为是最基本的并查集,无限超时. 这个特殊之处,就是可能有多个集合. 比如输入D 1 2 D 3 4 D 5 6...这就至少有3个集合了.并且 ...
- windows 2003 远程登录时如何修改管理员密码
今天买的vps,需要修改密码.但是自己不会,看网上好多人都说是,按ctrl+alt+del .但是我试过之后发现不对,后来又找到说是使用ctrl+alt+end 更改密码就可以了. 千万不要通过那个 ...
- BZOJ 1143: [CTSC2008]祭祀river 最长反链
1143: [CTSC2008]祭祀river Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline ...
- Fragment的使用简单介绍【Android】
Fragment在实际项目开发中使用的越来越多,如今简介一下 布局文件: <LinearLayout xmlns:android="http://schemas.android.com ...
- UvaLive 6667 Longest Chain (分治求三元组LIS&树状数组)
题目链接: here 题意: 和hdu4742类似.差别就是一部分三元组是直接给出的.另一部分是用他给的那个函数生成的.还有就是这里的大于是严格的大于a>b必须ax>bx,ay>by ...
- UITableView优化那点事
forkingdog关于UITableView优化的框架其实已经能够应用在一般的场景,且有蛮多的知识点供我们借鉴,借此站在巨人的肩膀上来分析一把. 至于UITableView的瓶颈在哪里,我相信网上随 ...
- 【安卓小技巧】WebView设置在本页面打开网页,而不是启动浏览器打开
使用WebView可以巧妙的在安卓APP中嵌入HTML页面, WebView wb = (WebView) findViewById(R.id.web); //找到WebView控件 wb.setWe ...
- PV模型
你想建设一个能承受500万PV/每天的网站吗? 500万PV是什么概念?服务器每秒要处理多少个请求才能应对?如果计算呢? 一.PV是什么 PV是page view的简写.PV是指页面的访问次数,每打开 ...
- 从lambda到函数式编程
Object.send(:remove_const,'TRUE') Object.send(:remove_const,'FALSE') def to_integer(pro) pro[-> n ...
- 总结html5-canvas学习笔记
canvas是html5中很重要的一部分,我们可以用它来绘制各种平面图形, 3d图,动画等等.每每看到网上超炫的html5页面,首先立马下载下来,心里想着有一天自己也可以做出这样酷炫的效果,骚年你是不 ...