/*
有一个圆形和长方形
都可以获取面积,对于面积,如果出现非法数值,视为获取面积出现问题
问题通过异常来表示。
先要对这个程序进行基本的设置

*/
/*首先想一下,怎么写这个程序
基本属性是肯定要的
求面积呢?
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的更多相关文章

  1. 浅谈java异常[Exception]

    学习Java的同学注意了!!! 学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:589809992 我们一起学Java! 一. 异常的定义 在<java编程思想 ...

  2. 基础知识《十》java 异常捕捉 ( try catch finally ) 你真的掌握了吗?

    本文转载自  java 异常捕捉 ( try catch finally ) 你真的掌握了吗? 前言:java 中的异常处理机制你真的理解了吗?掌握了吗?catch 体里遇到 return 是怎么处理 ...

  3. Java异常体系及分类

    上图是基本的java异常体系结构. 主要分为2大类:Error和Exception 1.Error:描述了Java运行系统中的内部错误以及资源耗尽的情形.应用程序不应该抛出这种类型的对象,一般是由虚拟 ...

  4. Java异常之自定义异常

    哎呀,妈呀,又出异常了!俗话说:"代码虐我千百遍,我待代码如初恋". 小Alan最近一直在忙着工作,已经很久没有写写东西来加深自己的理解了,今天来跟大家聊聊Java异常.Java异 ...

  5. 第11章 Java异常与异常处理

    1.Java异常简介 1.什么是异常异常出现的时候代码会无法正常运行下去,会产生各种问题2.捕捉异常的作用提早发现异常,方便查找问题,并给出解决方法3.Java中的异常1.Java中所有不正常的类都是 ...

  6. java 异常

    1.java异常 2.自定义抛出 3.运行时异常,程序有问题,让使用者可以改' ' 4.return  和  throw的区别 return 符合函数要求的值    throw  有问题的时候用它结束 ...

  7. 3.Java异常进阶

    3.JAVA异常进阶 1.Run函数中抛出的异常 1.run函数不会抛出异常 2.run函数的异常会交给UncaughtExceptionhandler处理 3.默认的UncaughtExceptio ...

  8. 2.Java异常学习

    1.Java异常的概念 异常的例子 1.除法就是一个需要捕获异常的例子,除数又可能是0 异常处理的基本流程如下 一旦发生异常,就使得程序不按照原来的流程继续的运行下去 a.程序抛出异常 try{ th ...

  9. java异常架构图 和几个面试题

    1.java异常架构图 粉红色的是受检查的异常(checked exceptions),其必须被 try{}catch语句块所捕获,或者在方法签名里通过throws子句声明.受检查的异常必须在编译时被 ...

  10. 黑马----JAVA异常

    黑马程序员:Java培训.Android培训.iOS培训..Net培训 黑马程序员--JAVA异常 一.JAVA异常有三种语句块:try语句块.catch语句块.finally语句块. 1.try语句 ...

随机推荐

  1. 依賴注入入門——Unity(一)

    參考資料http://blog.csdn.net/m13666368773/article/details/7802126 背景介紹 在设计模式中,尤其是结构型模式很多时候解决的就是对象间的依赖关系, ...

  2. metasploit(MSF)终端命令大全

    show exploits   列出metasploit框架中的所有渗透攻击模块. show payloads   列出metasploit框架中的所有攻击载荷. show auxiliary   列 ...

  3. ListView Video

    com.baidu.frontia.FrontiaApplication ListView Video <item name="android:windowBackground&quo ...

  4. Android蓝牙操作笔记

    蓝牙是一种支持设备短距离传输数据的无线技术.android在2.0以后提供了这方面的支持. 从查找蓝牙设备到能够相互通信要经过几个基本步骤(本机做为服务器): 1.设置权限 在manifest中配置 ...

  5. [React] Set up React apps with zero configuration

    The React team has an official Command Line Interface (CLI) for building React projects called " ...

  6. 文件I/O之/dev/fd

    较新的系统都提供名为/dev/fd的目录,其目录项是名为0.1.2等的文件.打开文件/dev/fd/n等效于复制描述符n(假定描述符n是打开的). 在下列函数调用中: fd = open( " ...

  7. php转义和去掉html、php标签函数

    /** * 转义html字符 * * @param string|array $var */function fhtmlspecialchars($var) { if (is_array ( $var ...

  8. C#_datatable 写入大量数据_BulkCopy

    using Microsoft.Win32; using System; using System.Collections.Generic; using System.Configuration; u ...

  9. 使用apache common-io 监控文件变化--转

    package common.io; import org.apache.commons.io.filefilter.FileFilterUtils; import org.apache.common ...

  10. Upgrade Guide

    Upgrade Guide This guide will point out the key points to be aware of when upgrading to version 3. A ...