异常处理

python之路——异常处理

走远了吗. 提交于 2019-12-06 14:33:54
转自Eva_J https://www.cnblogs.com/Eva-J/articles/7281240.html 阅读目录 一 错误和异常 二 异常处理 2.1 什么是异常处理? 2.2 为何要进行异常处理? 2.3 如何进行异常处理? 三 什么时候用异常处理 回到顶部 异常和错误 part1:程序中难免出现错误,而错误分成两种 1.语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) #语法错误示范一 if #语法错误示范二 def test: pass #语法错误示范三 print(haha 语法错误 2.逻辑错误(逻辑错误) #用户输入不完整(比如输入为空)或者输入非法(输入不是数字) num=input(">>: ") int(num) #无法完成计算 res1=1/0 res2=1+'str' 逻辑错误 part2:什么是异常 异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下 part3:python中的异常种类 在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,不同的类对象标识不同的异常,一个异常标识一种错误 l=['egon','aa'] l[3] 触发IndexError dic={'name':'egon'} dic['age'] 触发KeyError s=

gtid 1032同步异常处理

帅比萌擦擦* 提交于 2019-12-06 12:43:40
gtid 1032同步异常处理 [root@dba_test_002 ~]# cat 3.sql # 在从库中执行 set sql_log_bin=0; insert into fudao_student_lable(uid,tid) values(1,11); insert into fudao_student_lable(uid,tid) values(2,22); insert into fudao_student_lable(uid,tid) values(3,33); insert into fudao_student_lable(uid,tid) values(4,44); set sql_log_bin=1; mysql> select * from fudao_student_lable; +----+-----+-----+ | id | uid | tid | +----+-----+-----+ | 1 | 1 | 11 | | 2 | 2 | 22 | | 3 | 3 | 33 | | 4 | 4 | 44 | +----+-----+-----+ 4 rows in set (0.00 sec) # 在主库中执行 insert into fudao_student_lable(uid,tid) values(1,11); insert into fudao

gtid 同步1050异常处理

好久不见. 提交于 2019-12-06 12:35:21
gtid 同步1050异常处理 [root@dba_test_002 ~]# cat 2.sql CREATE TABLE `fudao_student_lable` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uid` int(11) unsigned NOT NULL COMMENT '学员id', `tid` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '老师id', PRIMARY KEY (`id`), KEY `index_tid` (`tid`), KEY `index_uid` (`uid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学员关系表'; # 在从库中创建一个表 mysql> set sql_log_bin=0; Query OK, 0 rows affected (0.00 sec) mysql> CREATE TABLE `fudao_student_lable` ( -> `id` int(11) NOT NULL AUTO_INCREMENT, -> `uid` int(11) unsigned NOT NULL COMMENT '学员id', -> `tid` int(11) unsigned NOT

7.学习springmvc的异常处理

╄→гoц情女王★ 提交于 2019-12-06 11:06:21
一.页面的异常处理流程 二.建立项目springmvc04_exception 1.编写index.jsp页面: 1 <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 <html> 3 <head> 4 <title>Title</title> 5 </head> 6 <body> 7 8 <h3>异常测试</h3> 9 10 <a href="user/testException">异常测试</a> 11 12 </body> 13 </html> 2.编写控制器方法: 编写UserController: 1 @Controller 2 @RequestMapping("/user") 3 public class UserController { 4 5 @RequestMapping("/testException") 6 public String testException() throws SysException { 7 8 System.out.println("testException执行了..."); 9 10 //模拟异常 11 try { 12 int a = 10 / 0; 13 } catch (Exception e) { 14 //控制台打印异常信息 15 e

Java中的try-catch-finally异常处理

我的未来我决定 提交于 2019-12-06 08:44:23
Java中的try-catch-finally异常处理 一、异常处理 异常(Exception):是在运行发生的不正常情况。 原始异常处理: if(条件) {   处理办法1   处理办法2   处理办法3 } if(条件) {   处理办法4   处理办法5   处理办法6 }    代码阅读性差,臃肿不堪,与正常流程代码结合的很紧密,所以,在JAVA中进行一系列的改良,将一系列常见的问题,用面向对象的思考方式,对其进行了描述、封装。 class 处理办法 { 处理办法1() { 举例1 } 处理办法2() { 举例2 } } if(出错了) {   抛出 new 处理办法1();此方法可能包含问题的名称,信息,时间,地点等。 }    在JAVA中,用类的形式对不正常情况进行了描述和封装对象。当程序出现问题时,调用相应的处理办法。 描述不正常情况的类,就称为异常类。将流程代码和异常代码进行分离。 异常就是JAVA通过面向对象的思想,将问题封装成了对象。用异常类对其进行描述。不同的问题,用不同的类进行描述。那么意味着,问题有多少,类就有多少。 二、异常体系 问题很多,意味着描述的类也很多,将其共性进行向上抽取,就形成了异常体系。 最终异常分为两大类 : Throwable(父类):问题发生,就应该抛出,让调用者处理。该体系的特点就在于Throwable及其子类都具有可抛性。  

Java中异常体系

孤人 提交于 2019-12-06 08:40:44
异常是指由于各种不期而至的情况,导致程序中断运行的一种指令流,如:文件找不到、非法参数、网络超时等。为了保证正序正常运行,在设计程序时必须考虑到各种异常情况,并正确的对异常进行处理。异常也是一种对象,java当中定义了许多异常类,并且定义了基类java.lang.Throwable作为所有异常的超类。Throwable:有两个重要的子类:Exception(异常)和Error(错误),两者都包含了大量的异常处理类。 1、Error(错误):是程序中无法处理的错误,表示运行应用程序中出现了严重的错误。此类错误一般表示代码运行时JVM出现问题。通常有Virtual MachineError(虚拟机运行错误)、NoClassDefFoundError(类定义错误)等。比如说当jvm耗完可用内存时,将出现OutOfMemoryError。此类错误发生时,JVM将终止线程。 这些错误是不可查的,非代码性错误。因此,当此类错误发生时,应用不应该去处理此类错误。 2、Exception(异常):程序本身可以捕获并且可以处理的异常。Exception这种异常又分为两类:运行时异常和编译异常。 1、运行时异常(不受检异常):RuntimeException类极其子类表示JVM在运行期间可能出现的错误。比如说试图使用空值对象的引用(NullPointerException)、数组下标越界

Java异常处理只有Try-Catch吗?

纵然是瞬间 提交于 2019-12-06 07:59:38
今天,我们将讨论一个非常重要的主题-Java 中的异常处理。尽管有时可能会对此主题进行过多的讨论,但并非每篇文章都包含有用且相关的信息。 Java 中最常见的异常处理机制通常与 try-catch 块关联 。我们使用它来捕获异常,然后提供在发生异常的情况下可以执行的逻辑。 的确,你不需要将所有异常都放在这些块中。另一方面,如果你正在研究应用程序的软件设计,则可能不需要内置的异常处理机制。在这种情况下,你可以尝试使用替代方法-Vavr Try 结构。 在本文中,我们将探讨 Java 异常处理的不同方法,并讨论如何使用 Vavr Try 替代内置方法。让我们开始吧! 处理 Java 中的异常 作为介绍,让我们回顾一下 Java 如何允许我们处理异常。如果你不记得它,则 Java 中的异常会指出意外或意外事件,该异常在程序执行期间(即在运行时)发生,这会破坏程序指令的正常流程。Java为我们提供了上述 try-catch 捕获异常的机制。让我们简要检查一下它是如何工作的。 如果不处理异常会发生什么? 首先,让我们看一个非常常见的例子。这是一个包含 JDBC 代码的代码段: Connection connection = dataSource.getConnection(); String updateNameSql = "UPDATE employees SET name=? WHERE

笔记||Python3之异常处理

痞子三分冷 提交于 2019-12-06 07:44:19
异常概念 :1 - 代码执行产生错误,无法继续 2 - 在异常前面代码是可以执行的 ---python是解释型的 3 - 异常作用 --- 程序不要退出 - 可以继续执行 同时给予程序员一定的异常提示信息 python有两种错误很容易辨认:语法错误和异常 语法错误:while True: print('hello world!') 异常:print(10+(1/0)) # ZeroDivisionError:disvision by zero 除数不能为0 异常的种类 :try语句 -- 首先执行try子句(在关键字try和关键字except之间的语句),如果没有异常发生,忽略except的子句,try子句执行后结束。 如果在执行try子句的过程中发生了异常,那try子句余下的部分将被忽略。 如果异常的类型和except之后的名称相符,那么对应的except子句将被执行。 如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中。 1 - NameError.name 'name' is not defined # ‘name’没有被定义 2 - ZeroDivisionError:disvision by zero # 除数不能为0 3 - FileNotFoundError:[Errno 2] No such file or diretory:'t:/'

Spring项目中优雅的异常处理

北城余情 提交于 2019-12-06 07:03:20
前言 如今的Java Web项目多是以 MVC 模式构建的,通常我们都是将 Service 层的异常统一的抛出,包括自定义异常和一些意外出现的异常,以便进行事务回滚,而 Service 的调用者 Controller 则承担着异常处理的责任,因为他是与 Web 前端交互的最后一道防线,如果此时还不进行处理则用户会在网页上看到一脸懵逼的 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4 at cn.keats.TestAdd.main(TestAdd.java:20) 这样做有以下几点坏处: 用户体验很不友好,可能用户会吐槽一句:这是什么XX网站。然后不再访问了 如果这个用户是同行,他不仅看到了项目代码的结构,而且看到抛出的是这么低级的索引越界异常,会被人家看不起 用户看到网站有问题,打电话给客服,客服找到产品,产品叫醒正在熟睡/打游戏的你。你不仅睡不好游戏打不了还得挨批评完事改代码 哎,真惨。因此一般我们采用的方法会是像这样: 异常处理 一般的Controller处理 Service代码如下: @Service public class DemoService { public String respException(String param){ if(StringUtils

Java 异常

孤人 提交于 2019-12-06 05:19:51
一、概念 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用C语言风格:用函数返回值作为执行状态? Java提供了更加优秀的解决办法:异常处理机制。 异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。 Java中的异常可以是函数中的语句执行时引发的,也可以是程序员通过throw 语句手动抛出的,只要在Java程序中产生了异常,就会用一个对应类型的异常对象来封装异常,JRE就会试图寻找异常处理程序来处理异常。 Throwable类是Java异常类型的顶层父类,一个对象只有是 Throwable 类的(直接或者间接)实例,他才是一个异常对象,才能被异常处理机制识别。 JDK中内建了一些常用的异常类,我们也可以自定义异常。 二、Java异常的分类和类结构图 Java标准裤内建了一些通用的异常,这些类以Throwable为顶层父类。 Throwable又派生出Error类和Exception类。 错误 :Error类以及他的子类的实例,代表了JVM本身的错误。错误不能被程序员通过代码处理,Error很少出现。因此,程序员应该关注Exception为父类的分支下的各种异常类。 异常