try catch自定义异常类的使用

 1 <?php
 2 //定义一个学生类
 3 class Student{
 4      //学生的名字
 5      private $name;
 6      //学生的年龄
 7      private $age;
 8
 9   public function __construct($name,$age){
10
11        $this->setName($name);
12        $this->setAge($age);
13   }
14   public function setName($name){
15         $this->name=$name;
16   }
17   public function setAge($age){
18         if(is_int($age)&&$age>18&&$age<25){
19          $this->age=$age;
20         }else{
21          //抛出一个异常并记录是哪个学生出错
22          throw new StudentException($this,$this->name.‘年龄出错‘,333);
23         }
24     }
25
26 }
27 //自定义一个学生异常类,
28 //到时候清楚是哪个学生发生异常
29 class StudentException extends Exception{
30
31     protected $student;
32
33  //我们需要重写父类的构造方法
34  public function __construct($stu,$message,$code){
35 //记录下学生信息
36     $this->student=$stu;
37
38   //上面的容易理解
39 //  $this->message=$message;
40 //  $this->code=$code;
41
42 //问题有些疑惑关于这里
43 //我是这样理解代码的:重写父类的构造方法并没有得到父类值,这时候我们需要初始化父类的构造方法
44    parent::__construct($message,$code);
45  }
46  public function getStudent(){
47
48        return $this->student;
49
50      }
51 }
52 //监视所有的学生,如果有学生信息错误就返回相应信息
53 try{
54       $student1=new Student(‘aaa‘,21);
55       $student2=new Student(‘bbb‘,23);
56       $student3=new Student(‘ccc‘,19);
57       $student4=new Student(‘ddd‘,28);
58
59 }
60 catch(StudentException $e){
61       echo "<pre>";
62       //获取发生错误学生的全部信息
63       var_dump($e->getStudent());
64       echo "发生的错误消息:".$e->getMessage();
65 }
66 ?>
时间: 2024-12-10 21:52:36

try catch自定义异常类的使用的相关文章

[转]如何编写和应用Java的自定义异常类

编写自定义异常类实际上是继承一个API标准异常类,用新定义的异常处理信息覆盖原有信息的过程.常用的编写自定义异常类的模式如下: public class CustomException extends Exception {    //或者继承任何标准异常类 public CustomException()  {}                //用来创建无参数对象 public CustomException(String message) {        //用来创建指定参数对象 sup

自定义异常类

/* sun提供了很多的异常类给我们用于描述程序中各种的不正常情况,但是sun 给我 提供异常类还不足以描述我们现实生活中所有不正常情况,那么这时候我们就需要 自定义异常类. 需求: 模拟feiQ上线的时候,如果没有插上网线,那么就抛出一个没有插上网线的异常, 如果已经插上了网上,那么就正常显示好友列表. 自定义异常类的步骤: 自定义一个类继承Exception即可. */ //自定义了一个没有网线的异常类了. class NoIpException extends Exception{ pub

C#高级编程八十二天----用户自定义异常类

用户自定义异常类 前面已经说了不少关于异常的问题了,现在来给大家说一下自定义异常时咋个回事以及咋样. 为啥会出现自定义异常类呢?用用脚趾头想想也明白,是为了定义咱们自己的异常,自定义异常类继承自ApplicationException 首先异常(Exception)分为两大类,一个是预定义的异常类,后者是用户自定义异常类时需要继承的类. 案例: using System; using System.Collections.Generic; using System.Linq; using Sys

PHP 错误与异常 笔记与总结(13 )自定义异常类

针对不同的异常,进行不同的处理,可以通过自定义异常类记录特定的异常信息来处理不同类型的异常.自定义异常类通过继承基类(Exception),对基类进行扩展. 自定义异常类 1 <?php 2 header('content-type:text/html; charset=utf-8'); 3 /* 4 自定义异常类 5 */ 6 class MyException extends Exception{ 7 //重写父类构造函数 8 public function __contruct($mess

Java -- 异常的捕获及处理 -- 自定义异常类

7.4 自定义异常类 定义异常类只需要继承Exception类即可. 例:自定义异常类 Class : MyException package limeThrowable._7_4; public class MyException extends Exception { // 自定义异常类,继承Exception类 /** * */ private static final long serialVersionUID = 1L; // 构造方法接收异常信息 public MyException

C#编程(八十二)---------- 用户自定义异常类

用户自定义异常类 前面已经说了不少关于异常的问题了,现在来给大家说一下自定义异常时咋个回事以及咋样. 为啥会出现自定义异常类呢?用用脚趾头想想也明白,是为了定义咱们自己的异常,自定义异常类继承自ApplicationException 首先异常(Exception)分为两大类,一个是预定义的异常类,后者是用户自定义异常类时需要继承的类. 案例: using System; using System.Collections.Generic; using System.Linq; using Sys

java中自定义异常类

hello,大家好,今天跟大家分享一下java中如何自定义异常,以后如果有新的心得,再添加,欢迎前辈指导... 首先,上Api,看一下异常和错误的父类: 然后,现在假设我有个循环(i=0;i<100;i++),我想在i==10的时候停止运行,并执行我自定义的异常,该怎么做呢,请看: //自定义异常类: 自定义异常类,需要继承Throwable或Exception,并且重写printStackTrace()方法,此方法就是自定义异常的执行结果 public class MyException ex

Throwable -抛出异常类与自定义异常类

/* 自定义异常类 java提供的异常类,不够我们使用,需要自己定义一些异常类 格式: public class XXXException extends Exception/runtimeException{ 添加一个空参数的构造方法 添加一个带异常信息的构造方法 } 注: 1.自定义异常类一般是Exception结尾,说明该类是一个异常类 2.必须继承Exception/RuntimeException */ public class RegisterException extends Ex

自定义异常类:三角形的判断和面积

要求: 自定义类Sanj,其中有成员 x,y,z,作为三边长,构造方法Sanj(a,b,c)分别 给x,y,z赋值,方法求面积getArea和显示三角形信息(三个边长)showInfo,这2个方法中当三条边不能构成一个三角形时要抛出自定义异常NotSanjiaoException,否则显示正确信息.在另外一个类中的主方法中构造一个Sanj对象(三边为命令行输入的三个整数),显示三角形信息和面积,要求捕获异常. 代码如下: 1 package Test; 2 3 import java.util.