实验6 异常处理

合集下载

thinkphp6:自定义异常处理使统一返回json数据(thinkphp6.0.5php。。。

thinkphp6:自定义异常处理使统一返回json数据(thinkphp6.0.5php。。。

thinkphp6:⾃定义异常处理使统⼀返回json数据(thinkphp6.0.5php。

⼀,创建统⼀返回json格式数据的result类app/business/Result/Result.php<?phpnamespace app\business\Result;class Result {//successstatic public function Success($data) {$rs = ['code'=>0,'msg'=>"success",'data'=>$data,];return json($rs);}//errorstatic public function Error($code,$msg) {$rs = ['code'=>$code,'msg'=>$msg,'data'=>"",];return json($rs);}}说明:刘宏缔的架构森林是⼀个专注架构的博客,地址:对应的源码可以访问这⾥获取:说明:作者:刘宏缔邮箱: 371125307@⼆,测试效果:正常返回数据:1,在controller中调⽤:<?phpnamespace app\adm\controller;use app\BaseController;use app\business\Result\Result;class Index extends BaseController{//hello,demopublic function hello($name = 'ThinkPHP6'){//return 'hello,' . $name;$data = array("name"=>$name,"str"=>"hello,".$name."!");return Result::Success($data);}}2,测试,访问:http://127.0.0.1:81/adm/index/hello?name=laoliu返回:三,创建⾃定义的异常类,主要处理404/500等情况app/business/Exception/MyException.php<?phpnamespace app\business\Exception;use think\exception\Handle;use think\exception\HttpException;use think\exception\ValidateException;use think\Response;use Throwable;use ErrorException;use Exception;use InvalidArgumentException;use ParseError;//use PDOException;use think\db\exception\DataNotFoundException;use think\db\exception\ModelNotFoundException;use think\exception\ClassNotFoundException;use think\exception\HttpResponseException;use think\exception\RouteNotFoundException;use TypeError;use app\business\Result\Result;class MyException extends Handle{public function render($request, Throwable $e): Response{//如果处于调试模式if (env('app_debug')){//return Result::Error(1,$e->getMessage().$e->getTraceAsString());return parent::render($request, $e);}// 参数验证错误if ($e instanceof ValidateException) {return Result::Error(422,$e->getError());}// 请求404异常 , 不返回错误页⾯if (($e instanceof ClassNotFoundException || $e instanceof RouteNotFoundException) || ($e instanceof HttpException && $e->getStatusCode() == 404)) {return Result::Error(404,'当前请求资源不存在,请稍后再试');}//请求500异常, 不返回错误页⾯//$e instanceof PDOException ||if ($e instanceof Exception || $e instanceof HttpException || $e instanceof InvalidArgumentException || $e instanceof ErrorException || $e instanceof ParseError || $e instanceof TypeError) { $this->reportException($request, $e);return Result::Error(500,'系统异常,请稍后再试');}//其他错误$this->reportException($request, $e);return Result::Error(1,"应⽤发⽣错误");}//记录exception到⽇志private function reportException($request, Throwable $e):void {$errorStr = "url:".$request->host().$request->url()."\n";$errorStr .= "code:".$e->getCode()."\n";$errorStr .= "file:".$e->getFile()."\n";$errorStr .= "line:".$e->getLine()."\n";$errorStr .= "message:".$e->getMessage()."\n";$errorStr .= $e->getTraceAsString();trace($errorStr, 'error');}}四,指定使⽤⾃定义异常类:1,app/provider.php指定'think\exception\Handle'的路径为⾃定义的MyException类的路径<?phpuse app\ExceptionHandle;use app\Request;// 容器Provider定义⽂件return ['think\Request' => Request::class,//'think\exception\Handle' => ExceptionHandle::class,'think\exception\Handle' => '\\app\\business\\Exception\\MyException'];2,在⼀个controller的⽅法中加⼊除0代码,供测试⽤: app/adm/controller/Index.php<?phpnamespace app\adm\controller;use app\BaseController;use app\business\Result\Result;class Index extends BaseController{public function index(){$div = 0;$a = 100 / $div;$data = array("name"=>"liuhongdi","age"=>20);return Result::Success($data);}public function hello($name = 'ThinkPHP6'){//return 'hello,' . $name;$data = array("name"=>$name,"str"=>"hello,".$name."!");return Result::Success($data);}}五,测试效果1,访问⼀个不存在的url,例如:http://127.0.0.1:81/abcdef返回:2,访问包含除0错误的url:http://127.0.0.1:81/adm/返回:六,查看thinkphp的版本liuhongdi@ku:/data/php/mytp$ php think versionv6.0.5七,查看php的版本:liuhongdi@ku:/data/logs/phplogs/tlog/202012$ php --versionPHP 7.4.9 (cli) (built: Oct 26 2020 15:17:14) ( NTS )Copyright (c) The PHP GroupZend Engine v3.4.0, Copyright (c) Zend Technologieswith Zend OPcache v7.4.9, Copyright (c), by Zend Technologies。

关于布格重力异常计算及资料处理与反演和解释的报告

关于布格重力异常计算及资料处理与反演和解释的报告

关于布格重力异常计算及资料处理与反演和解释的报告姓名:***班级:061084-27学号:**********指导老师:***日期:2011.4.14目录前言 (2)目的 (2)任务要求 (2)工作过程 (2)成果 (2)工作内容及步骤 (3)§1-布格重力异常计算 (3)§2-布格重力异常处理 (3)1.绘制平面等值线图 (3)2.异常处理(分离区域异常和局部异常) (6)§3-布格重力异常反演——特征点法反演 (11)§4-布格重力异常的解释 (13)评述与结论 (13)评述 (13)结论 (14)关于布格重力异常计算及资料处理与反演和解释的报告 前言目的:熟悉并掌握布格重力异常计算及资料处理与反演和解释 任务要求:根据在一个地区重力测量的结果,计算出布格重力异常,并根据异常进行资料处理和解释,并完成一份工作报告。

工作过程:(1)利用实测的相对重力值、相对高程值和X,Y 坐标值,计算各种校正(地形校正除外),纬度校正用 计算,自由空间(或高度)校正用计算,中间层校正用 计算,已知地表物质密度为2.50g/cm 3,起算点纬度为45°;(2)获得各点处的布格重力异常值后,绘出平面等值线图,等值线距为0.5mGal ;(3)根据异常(平面或剖面)特征,选用适当的方法进行处理(如压制干扰、消除区域场等)进行处理,并对处理效果进行描述; (4)将处理后的异常进行反演;(5)写出全部过程和所采用的处理与反演方法之应用理由。

成果:根据布格重力异常数据计算及资料处理与反演初步结果判断,该异常应由地区下一球体引起,球体埋深98.8m ,剩余质量t 6103.07⨯,球体中心在地面的投影点坐标为(248.8,248.8)m 。

):,()2sin(814.0mkX mGal X g ∆⋅-=ϕδϕ):,(3086.0m h mGal h g f ∆⋅=δ):/:,(0419.03m h cm g mGal h g ρρδσ∆⋅-=工作内容及步骤§1-布格重力异常计算用excel先算出各项校正(除地形校正外),需要注意的是在纬度校正中为测点到总基点间纬向距离,由于测点都位于总基点以北,故取正值;为总基点纬度即45°; 单位要划为km。

2024年学校安全用电制度样本(五篇)

2024年学校安全用电制度样本(五篇)
1、办公室及教室用电应遵循人走电停的原则,明确责任人,避免电能浪费,严格控制无人员看管的电器运行,禁止在教室和办公室使用电热器、微波炉等家用电器。
2、禁止在灯具、电风扇、投影设备、配电箱等电器设备上覆盖或悬挂易燃物品。
3、班级需负责教室的电力安全管理,电器设备的操作必须由教师亲自执行,学生不得擅自开启或关闭电器,禁止拆卸教室内的电器线路、开关、插座等设备。
五、电工每周对全校电器设备、配电室及各租赁单位的用电进行一次全面检查,并做好记录。对发现的问题,需立即进行维修。如因失职造成损失,将依据相关规定追究责任。
六、宿舍内严禁使用电热毯,未经许可,禁止私自安装其他电器或改动原有电器。学生不得在寝室更换高功率灯泡,违规者将受到严厉处理。
七、教师应以身作则,抵制无合格证、无生产日期、无厂名厂址的“三无”电器,特别是存在严重安全隐患的电热板。
1、办公室及教室用电应遵循人走灯熄的原则,明确责任人,避免电能浪费,严格控制无谓的电力消耗,严禁在教室和办公室使用电热器具如电炉、微波炉等。
2、禁止在空调、灯具、电扇、电视、配电箱等电器设备上覆盖易燃物品。
3、班主任需负责教室的安全用电管理,电器设备的操作应由教师亲自执行,学生不得擅自开启或关闭电器,或拆卸教室内的电器线路、开关、插座等。
4、不得使用湿布清洁电器,以防发生意外。
5、一旦发现电器或线路故障,应立即停止使用,并及时报告学校总务部门或电工,不得自行处理。
6、所有使用学校电源的用户,须通过统一的电表计量,任何人不得私自改动电表或接线,并需对电表和表箱的完好性负责。
7、应尊重并保护学校的电力设施,不得故意损坏。家长需教育子女遵守用电安全,班主任需定期对学生进行用电安全教育。
7. 健康体检:定期为学生进行体检并建立健康档案。

Java程序设计实用教程第4版习题解答与实验指导第1-8章

Java程序设计实用教程第4版习题解答与实验指导第1-8章

Java程序设计实用教程(第4版)习题解答与实验指导叶核亚编著2013年11月目录“Java程序设计”课程教学要求 (1)第1章Java概述 (3)第2章Java语言基础 (5)第3章类的封装、继承和多态 (22)第4章接口、内部类和Java API基础 (37)第5章异常处理 (42)第6章图形用户界面 (44)第7章多线程 (49)第8章输入/输出流和文件操作 (51)“Java程序设计”课程教学要求1. 课程性质、目的和任务程序设计是高等学校计算机学科及电子信息学科各专业本科的核心专业基础课程,是培养学生软件设计能力的重要课程。

在计算机学科的本科教学中,起着非常重要的作用。

“Java程序设计”是计算机科学与技术专业本科的专业基础限选课,开设本课程的目的是:进行程序设计和面向对象方法的基础训练;使用Java编程技术,设计解决操作系统、网络通信、数据库等多种实际问题的应用程序。

本课程通过全面、系统地介绍Java语言的基础知识、运行机制、多种编程方法和技术,使学生理解和掌握面向对象的程序设计方法,理解和掌握网络程序的特点和设计方法,建立起牢固扎实的理论基础,培养综合应用程序的设计能力。

本课程的先修课程包括:C/C++程序设计I、C/C++程序设计II、数据结构、操作系统、计算机网络、数据库原理等。

2. 教学基本要求本课程的基本要求如下。

①了解Java语言特点,理解Java Application应用程序的运行原理和方法。

掌握在JDK 环境中编译和运行程序的操作,熟悉在MyEclipse集成开发环境中,编辑、编译、运行和调试程序的操作。

②掌握Java语言中语句、数组、引用类型等基本语法成分的使用方法,通过类、接口、内嵌类型、包、异常处理等机制表达和实现面向对象程序设计思想。

③掌握Java的多种实用技术,包括图形用户界面、多线程、文件操作和流、使用URL 和Socket进行网络通信等。

④熟悉Java JDBC数据库应用的设计方法。

文件管理实验报告结果(3篇)

文件管理实验报告结果(3篇)

第1篇一、实验目的本次实验旨在通过实际操作,验证文件管理的有效性和可行性,并对文件管理系统的性能进行评估。

通过实验,了解文件管理的相关原理和方法,提高文件管理的实践能力。

二、实验环境1. 操作系统:Windows 102. 文件管理系统:Windows文件管理器3. 实验数据:实验过程中产生的文件和数据三、实验内容1. 文件创建与删除2. 文件夹创建与删除3. 文件与文件夹的复制、移动、重命名4. 文件属性的设置与修改5. 文件搜索与查找6. 文件权限管理7. 文件压缩与解压四、实验步骤1. 文件创建与删除(1)在Windows文件管理器中,新建一个名为“实验文件.txt”的文本文件。

(2)在“实验文件.txt”上右击,选择“删除”,确认删除。

2. 文件夹创建与删除(1)在Windows文件管理器中,新建一个名为“实验文件夹”的文件夹。

(2)在“实验文件夹”上右击,选择“删除”,确认删除。

3. 文件与文件夹的复制、移动、重命名(1)将“实验文件.txt”复制到“实验文件夹”中。

(2)将“实验文件.txt”移动到桌面。

(3)将“实验文件.txt”重命名为“实验文件修改.txt”。

4. 文件属性的设置与修改(1)在“实验文件修改.txt”上右击,选择“属性”,设置文件属性为“只读”。

(2)修改“实验文件修改.txt”的属性为“隐藏”。

5. 文件搜索与查找(1)在Windows文件管理器中,输入“实验文件”进行搜索。

(2)使用“查找”功能,查找“实验文件修改.txt”。

6. 文件权限管理(1)在“实验文件夹”上右击,选择“属性”,点击“安全”标签。

(2)添加用户权限,设置权限为“完全控制”。

7. 文件压缩与解压(1)将“实验文件夹”压缩为“实验文件夹.zip”。

(2)解压“实验文件夹.zip”到指定位置。

五、实验结果与分析1. 文件创建与删除:实验成功创建和删除了文件,验证了文件管理的可行性。

2. 文件夹创建与删除:实验成功创建和删除了文件夹,验证了文件管理的可行性。

Java编程基础实验报告

Java编程基础实验报告

Java编程基础实验报告编制教师唐春兰审定代伟(适用于计算机科学学院专业学生)2016至2017学年第一学期计算机科学学院实验名称:Java语言基础指导教师:唐春兰实验仪器:计算机实验日期:2016 年12 月2 日实验地点:第三实验楼209 实验目的:1、了解Java 的数据类型;2、掌握各种变量的声明方式;3、理解运算符的优先级;4、掌握JAVA基本数据类型、运算符与表达式、数组的使用方法;5、理解JAVA程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法;6、通过以上内容,掌握JAVA语言的编程规则。

实验内容及基本要求:1、读下列程序,理解不同数据类型变量的声明,写出其输出结果并上机运行验证。

public class SHIYAN2_1 {public static void main(String[] args) {byte b=0x55;short s=0x55ff;int i=1000000;long l=0xffffL;char c='a';float f=0.23F;double d=0.7E-3;boolean B=true;String S="这是字符串类数据类型";System.out.println("字节型变量 b = "+b);System.out.println("短整型变量 s = "+s);System.out.println(" 整型变量 i = "+i);System.out.println("长整型变量 l = "+l);System.out.println("字符型变量 c = "+c);System.out.println("浮点型变量 f = "+f);System.out.println("双精度变量 d = "+d);System.out.println("布尔型变量 B = "+B);System.out.println("字符串类对象 S = "+S);}}2、分析下列程序,了解变量的使用范围,修改程序使之能成功运行。

学校实验室管理制度

学校实验室管理制度

学校实验室管理制度关于学校实验室管理制度范本(通用6篇)学校实验室管理制度11、认真贯彻"安全第一、预防为主"的方针,以防为主,杜绝事故隐患。

2、实验室管理员是实验室安全责任人。

对进入实验室的人员,要进行安全教育,讲明本室的安全规定、实验中的注意事项及仪器设备的操作规程。

无关人员不得进入实验室、保管室。

3、实验室全体人员应您正确使用灭火机,发现火险隐患及时报告处置,发生火灾主动扑救,及时报警。

4、实验楼禁止使用一切电炉取暖、烧水做饭。

5、实验楼禁止存放易燃、易爆物品以及自行车和其他生活用品。

6、每天上班应检查门、窗、锁有无异常,如有异常,保护现场,立即报告系办并通知保卫部门。

离开实验室应关好门、窗,注明去向;下班应断开电源、锁好门窗;关闭水龙头。

7、实验室如发生火灾、盗窃等责任事故,将根据情节轻重对责任人和分管领导给予相应的处分。

情节严重者,将追究法律责任。

学校实验室管理制度21、做好防火工作。

除实验需要外,严禁火种。

配置相应的灭火器材。

2、各种危险品必须严格登记造册,建立购买、使用、领取、清退等台帐。

对剧毒、放射性等危险物品出入库必须有精确计量和记载。

3、对危险物品的管理必须贯彻“控制使用、重点管理、严格出(入)库”的方针,坚持“分类存放,特殊保管”的原则。

严加保管,应专库存放,双人双锁。

对所有物品应定期检查核对,并采取必要的安全措施。

4、危险物品的管理人员应熟悉并掌握所存放的危险物品的性质,防护和使用等各方面基本知识。

5、易燃、易爆、剧毒、放射性物品,存放与保管危险物品时,必须严格执行“四个不准”的规定:性质相抵触,不准存放在一起;互相能引起燃、爆的,不准存放在一起;非危险物品仓库,不准存放危险物品;露天不准存放。

6、严禁设置一切明火,严禁试验、分装、打包与其他任何可能引起燃、爆的不安全操作,装卸危险物品时,必须轻拿轻放,不得震动、撞击或磨擦;不得随意重压和倾倒,不得随意碰撞或滚动搬动。

“计算机程序设计”课程教学大纲

“计算机程序设计”课程教学大纲

“计算机程序设计”教学大纲一、课程性质、目的和任务性质:“计算机程序设计”是面向非计算机类各专业的必修计算机类基础课程,是计算机教育的基础和重点。

目的:使学生掌握一门高级程序设计语言,掌握结构化程序设计和面向对象程序设计的基本方法,同时了解初步的数据结构与算法等方面的知识,具有把各个领域的基本计算和数据处理问题变成计算机应用程序的能力,为后续课程的学习创造条件。

任务:介绍计算机程序设计语言的基本知识和程序设计的方法与技术,同时包括程序设计方法学、数据结构与算法基础等方面的内容。

二、教学基本要求1.C++语言基础知识掌握变量与常量的定义与使用方法;掌握基本数据类型和表达式的使用方法,掌握C++的基本语句。

理解结构化和面向对象程序设计的基本思想和有关概念,掌握C++程序的基本框架和上机调试计算机程序的过程。

2.数组、指针与引用掌握数组的定义、初始化和访问方法;掌握字符串使用方法;理解指针和引用的概念,掌握指针使用方法,理解指针与数组的关系,了解动态内存管理方法。

3.函数掌握函数的定义与函数调用方法,理解变量的生命周期、作用域和存储类别(自动、静态、寄存器、外部),掌握C++库函数的使用方法。

4.类与对象的基础知识理解类与对象的基本概念,掌握类及其成员的声明、定义、访问方法,对象的创建与使用方法;掌握构造函数与析构函数的定义与使用;掌握静态数据成员与静态成员函数的定义与使用。

5.类的复用掌握类的组合语法;掌握派生类的定义和访问权限,类的数据成员与成员函数的继承;理解多态性概念及虚函数机制的要点;了解运算符重载。

6.输入/输出流理解C++流的概念,掌握数据的格式输入输出,掌握文件的I/O操作。

7.综合程序设计能力掌握利用所学到的面向对象的程序设计方法,编制含有多个类的程序;掌握根据实际问题和给定的算法,设计类结构并编码实现,解决小型问题。

8.程序调试掌握C++程序调试的基本方法;理解程序错误的种类和产生的原因,掌握排除语法错误的基本技能;掌握程序调试的基本技能(如设置断点、单步执行、查看中间运行结果等)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验6 异常处理
一、实验目的
1、掌握常见异常类的使用环境;
2、掌握异常处理的两种方法;
3、掌握自定义异常类的方法。

二、实验内容
1、在程序中处理常见异常。

2、自定义异常,并在程序中处理异常对象。

三、实验步骤
1、输入三角形三条边长,求三角形面积。

处理可能发生的异常。

class ValueException extends Exception{
public ValueException(){
System.out.println("三角形两边之和必须大于第三边");
}
}
class Triangle{
private double a,b,c;
public Triangle(double a,double b,double c)
{
this.a=a;
this.b=b;
this.c=c;
}
public double area() throws ValueException
{
double p;
double s;
if(a+b<=c||b+c<=a||a+c<=b)
throw new ValueException();
p=(a+b+c)/2;
s=Math.sqrt(p*(p-a)*(p-b)*(p-c));
return s;
}
}
class Test{
public static void main(String[] args)
{
try
{Triangle t=new Triangle(1,4,5);
System.out.println(t.area());
}
catch(ValueException e){
e.printStackTrace();
}
}
}
2、定义Circle类,包含成员变量半径r和计算面积的方法getArea()。

自定义异常类,当半径小于0的时候抛出异常。

class Rexception extends Exception{
Rexception(){
System.out.println("值错误");
}
}
public class Circle {
double r;
final double PI=3.1413;
public Circle(double r) {
this.r=r;
}
public double getArea()throws Rexception {
if(r<=0)
throw new Rexception();
return PI*r*r;
}
public static void main(String[] args) {
try{
Circle c1=new Circle(-4);
System.out.println("圆面积:"+c1.getArea());
}catch(Rexception e){
System.out.println("半径不能小于等于0");
}
}
}。

相关文档
最新文档