异常的抛出,捕获并处理

源程序:

public class dong {

public static void main(String[] args) {
  point p=new point(-1,3);
  point p1=new point(4,2);
  point p2=new point(3,3);
  rectangle r=new rectangle(p,2,6);
  triangle t=new triangle(p,p1,p2);

}

}
class point {
public int x,y;
public point() {}
public point(int x,int y)throws IllegalArgumentException
{
this.x=x;
this.y=y;

if(x<0||y<0)
throw new IllegalArgumentException(x+y+"x或y是无效参数!");
}
}
class rectangle extends point{
public int width,length;
//public point point1(3,6);
public rectangle(point point1,int length,int width)throws IllegalArgumentException
{

this.length=length;
this.width=width;
if(length<0||width<0)
throw new IllegalArgumentException(length+width+"长或宽为无效参数!");
}
}
class triangle extends point{
public triangle(point point1,point point2,point point3)throws IllegalArgumentException
{
if(((point1.x-point2.y)-(point2.x-point1.y))+((point2.x-point3.y)-(point3.x-point2.y))+((point3.x-point1.y)-(point3.y-point1.x))==0)
throw new IllegalArgumentException("不能构成三角形,此为无效的参数!");
}
}

运行结果:

Exception in thread "main" java.lang.IllegalArgumentException: 2x或y是无效参数!
 at point.<init>(dong.java:23)
 at dong.main(dong.java:5)

实验心得:实验中共处理三个异常,如果给的条件不符合其取值范围,就会出现抛出异常,之后就会进行异常捕捉和处理。

异常处理方法为IllegalArgumentException();

原文地址:https://www.cnblogs.com/java-17/p/10914891.html

时间: 2024-08-29 20:57:34

异常的抛出,捕获并处理的相关文章

异常的抛出和捕获

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>异常的抛出和捕获</title> <script type="text/javascript"> //快捷键F12,或者找到开发者工具 查看问题 //只要出现异常(比如拼写错误),没有处理,脚本就中断执行 //出错后面的就执行

【ThinkingInJava】24、捕获一个异常之后抛出另外一个异常,并且希望吧原始的信息保存下来

/** * 书本:<Thinking In Java> * 功能:捕获一个异常之后抛出另外一个异常,并且希望吧原始的信息保存下来,这个被称为异常链 * 文件:DynamicFields.java * 时间:2015年4月9日16:24:44 * 作者:cutter_point */ package Lesson12_error_handling_with_exceptions; import static net.mindview.util.Print.*; class DynamicFiel

实验九 异常的抛出、捕获并处理

一. 实验代码如下: public class 图形 { public static void main(String[] args) {    point p1=new point(0,0);  point p2=new point(1,0);  point p3=new point(0,1);  rectangle r=new rectangle(p1,5,6);  triangle t=new triangle(p1,p2,p3);  point[] point= {p1,p2};  ne

异常何时抛出?何时自己处理?

原始问题: 关于异常中,何时在该类中处理,何时抛给调用类处理,比较纠结.比如IO中new FileInputStream(),new InputStreamReader(fStream, "UTF-8");in.readLine()等他们异常哪些本类中处理,还是都抛给调用者. 讨论: 李:其实对于方法中的异常处理有两种方法:1.在该函数中用try...catch语句进行捕获和处理.2.直接抛出异常(这种做法有一点模糊,因为并不能确定该方法是否有异常),那么调用该方法的调用者就要处理这个

实验九:异常的抛出,捕捉并处理

实验程序: package 实验九; import java.util.Scanner; public class Point { static int x; static int y; Point(int x,int y){ Point.x=x; Point.y=y; } @SuppressWarnings("serial") public static void main(String[] args) { try { @SuppressWarnings({ "unused

异常的抛出

  div的异常抛给main来处理: class Math{     public int div(int i,int j)throws Exception{         int temp=i/j;         return temp;     } } public class ThrowsDemo01 { public static void main(String[] args){     Math m=new Math();         try {             Sy

C# 中异常抛出捕获机制--throw / try,catch,finally

try { messagebox.show("true"); } catch { messagebox.show("false"); } finally { messagebox.show("finally"); } notes:      抛出异常用 throw new exception,捕获异常用 try..catch..finally try ... catch 的目的是解决程序在出现错误时无法继续执行下去的问题. try不一定只能和ca

实验九:异常的抛出、捕获并处理

(1)测试Point类中参数异常 point1中参数是负数,故参数报错 (2)测试Rectangle类中参数异常 矩形的高为负数,故参数报错 (3)测试Triangle类中参数异常 由于三个点斜率都一样,故在一条直线上,参数报错 (4)测试Polygon类中参数异常 由于只传入了两个点的参数,无法构成多边形,故参数报错 源代码如下: 1 package error; 2 3 public class Throwerror { 4 public static void main(String[]

Java throw:异常的抛出怎么回事

到目前为止,你只是获取了被Java运行时系统抛出的异常.然而,程序可以用throw语句抛出明确的异常.Throw语句的通常形式如下:    throw ThrowableInstance;这里,ThrowableInstance一定是Throwable类类型或Throwable子类类型的一个对象.简单类型,例如int或char,以及非Throwable类,例如String或Object,不能用作异常.有两种可以获得Throwable对象的方法:在catch子句中使用参数或者用new操作符创建.

异常课——抛出

package class10923; //异常课件例题——抛出 import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import javax.swing.filechooser.FileNameExtensionFilter; import javax.swing.plaf.synth.SynthScrollBarUI; public class yichangpa