首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

学会这招再也不怕手误让代码崩掉

导读 今天学了一招很有意思,乘热打铁分享一波! 更详细说是关于python异常处理应用,实现一个手误输也能被原谅功能,非常好用和有趣哦 >_< ?...一、异常和异常处理 为了能够对接下来要完成事情有个更清晰认识,我们需要先了解几个概念。 第一,什么是异常。异常就是一个事件,该事件程序执行过程中发生,影响了程序正常执行。...打个不恰当比喻就是,当你泡妞时候,突然有个傻雕过来说你有口臭,老是放臭屁,直接让你无法正常泡妞。 第二,什么异常处理,为了解决当出现异常时,我们不希望我们程序挂掉,而进行一些操作。...二、异常处理小应用 我们经常会遇到比如需要输入密码,当你输密码时候,你不希望退出这个系统,而是重新输入密码;又或者是要读取一张图片,但是有时候手误打错路径,你不想让整个代码重头再运行一次,为了让代码能够识别你输并允许你重新输入...思路: (1)找到可能出错地方,进行检测判断; (2)当输入正确时,直接执行下一步操作; (3)当输入错误时,重新执行,直到正确。

78520

【Http】一文备忘Http状态码(406,415,422

它说明服务器已经懂得了实体Content Type,也就是说415状态码肯定不合适;此外,实体语法也没有问题,所以400也不合适。但是服务器仍然无法处理这个实体数据,这时就可以返回422。...所以它通常是用来表示语意上有错误,通常就表示实体验证错误。 5xx:服务器错误 ——摘自杨旭老师B站视频。 本篇重点关注状态码406和415,顺带看一下422。...HTTP,Content-Type代表客户端发送实体数据数据类型,如果客户端是以*application/x-www-form-urlencoded*** ,asp.net core中用***...服务器已经懂得了实体Content Type媒体类型,也就是说415状态码肯定不合适; 此外,实体语法也没有问题,所以400也不合适。 但是服务器仍然无法处理这个实体数据,这时就可以返回422。...所以它通常是用来表示语意上有错误,或者不符合接口要求数据,通常就表示实体验证错误。

1.2K10
您找到你想要的搜索结果了吗?
是的
没有找到

由一个问题引发对文件描述符研究

,文件没有close,他说,可能当时我们没在一个频道上,“err处理没有return”。...又仔细看了下代码,发现err处理代码块后使用了f.Name(),这个是存在问题,因为当open发生错误时,返回文件句柄则为nil,下文直接使用f.Name()。...可以发生错误时,可以return或者os.Exit(-1) 也或下文f.Name()放到else逻辑块。...程序并没有想象那样出错 那么就是该程序默认占用了三个 通过lsof查下进程打开描述符情况 ?...这个问题作为一个遗留问题抛在这里,等待有心去探索 总结 通过以上试验和验证程序打开文件后,记得close 完善后最终处理代码 package main import ( "fmt"

66550

小结HTTP状态码

备注:web开发工作,我们都会使用封装好库进行接口请求,而且浏览器控制台网络也不会出现这类状态码提示(我没看到过?),所以这一大类基本不会接触到,了解一下即可。...成功含义取决于HTTP方法: GET:资源已被提取并在消息正文中传输。 HEAD:实体标头位于消息正文中。 POST:描述动作结果资源消息体传输。...意味着不会有一个异步响应去表明当前请求结果,预期另外进程和服务去处理请求,或者批处理。 204 No Content:服务器成功处理了请求,但不需要返回任何实体内容,并且希望返回更新了元信息。...备注:这里要注意422,别请求链接一出错,就屁颠屁颠找后端,先看下后端给过来API文档,要传字段是否都准确跟上了。?...日常web工作,明白HTTP状态码是一个必备活,起码在出错时候,知道浏览器和服务器交流障碍在哪里啦~ 参考 HTTP Status Codes HTTP Explained: The HTTP

1.1K20

HTTP 状态码

服务器可能会告诉你无法找到所请求资源,你没有访问资源权限,或者资源被移到了其他地方 状态码是每条响应报文起始行返回。会返回一个数字状态和一个可读状态。...客户端应用程序只有避免向服务器发送一个服务器无法处理或使用实体,才应该使用 100 Continue 200 ~ 299,成功状态码 客户端发起请求时,这些请求通常都是成功。...如果中间节点上有一份副本,但无法或没有对元数据进行验证,就会出现这种情况 204 No Content 响应报文中包含若干首部和一个状态行,但没有实体主体部分。...URI Too Long 客户端所发请求请求 URL 比服务器能够或者希望处理要长时,使用此状态码 415 Unsupported Media Type 服务器无法理解或无法支持客户端所发实体内容类型时...这可能是客户端碰上了服务器缺陷,或者服务器上子元素,比如某个网关资源,出了 代理尝试着代表客户端与服务器进行交流时,经常会出现问题。

2.6K00

由一个问题引发对文件描述符研究

,他说,可能当时我们没在一个频道上,“err处理没有return”。...又仔细看了下代码,发现err处理代码块后使用了f.Name(),这个是存在问题,因为当open发生错误时,返回文件句柄则为nil,下文直接使用f.Name()。...可以发生错误时,可以return或者os.Exit(-1) 也或下文f.Name()放到else逻辑块。...[%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202019-07-23%20%E4%B8%8B%E5%8D%886.51.49.png] 程序并没有向想象那样出错 那么就是该程序默认占用了三个...这个问题作为一个遗留问题抛在这里,等待有心去探索 总结 通过以上试验和验证程序打开文件后,记得close 完善后最终处理代码 package main import ( "fmt" "os

43410

dotNET Core WebAPI 统一处理(返回值、参数验证、异常)

现在 Web 开发比较流行前后端分离,我们产品也是一样,前端使用Vue,后端使用 dotNet Core WebAPI ,写 API 过程中有很多地方需要统一处理 文档 参数验证 返回值 异常处理...安装 VS For Mac 创建 API 项目 DotNetCoreApiSample ,依赖项 NuGet 上点击右键,选择添加包,如下图: ?...参数验证 此处所说参数验证指的是实体类型参数验证,通过实体属性上添加特性方式来实现。...返回值 返回值统一处理需要下面几个步骤: 创建统一返回结果实体类,所有的接口方法都返回固定格式,方便前端统一处理 创建过滤器,过滤器用来拦截请求,包装结果,统一输出 Startup 类中进行配置注册...结果实体类 接口返回值需要统一格式,下面的属性字段是我认为必须要有的 Result:返回结果 Message:出现错误或需要提示时提示文本内容 Code:调用成功、失败或出错编码 ReturnStatus

10.9K60

http常见状态码

需要进行附加操作以完成请求 4xx Client error(客户端错误) 客户端请求出错,服务器无法处理请求 5xx Server Error(服务器错误) 服务器处理请求出错 各类别常见状态码:...2xx (3种) 200 OK:表示从客户端发送给服务器请求被正常处理并返回; 204 No Content:表示客户端发送给客户端请求得到了成功处理,但在返回响应报文中不含实体主体部分(没有资源可以返回...; 401 Unauthorized:未经许可,需要通过HTTP认证; 403 Forbidden:服务器拒绝该次访问(访问权限出现问题) 404 Not Found:表示服务器上无法找到请求资源,除此之外...,也可以服务器拒绝请求但不想给拒绝原因时使用; 5xx (2种) 500 Inter Server Error:表示服务器执行请求时发生了错误,也有可能是web应用存在bug或某些临时误时;...503 Server Unavailable:表示服务器暂时处于超负载或正在进行停机维护,无法处理请求;

63320

分享一些整理HTTP状态码及其详解

4xx(请求错误) 这些状态代码表示请求可能出错,妨碍了服务器处理。 5xx(服务器错误)这些状态代码表示服务器尝试处理请求时发生内部错误。 这些错误可能是服务器本身错误,而不是请求出错。...接受请求处理并返回202状态码响应应当在返回实体包含一些指示处理当前状态信息,以及指向处理状态监视器或状态预测指针,以便用户能够估计操作是否已经完成。...如果401响应包含了与前一个响应相同身份验证询问,且浏览器已经至少尝试了一次验证,那么浏览器应当向用户展示响应包含实体信息,因为这个实体信息可能包含了相关诊断信息。参见RFC 2617。...(RFC 4918 WebDAV) 425 WebDav Advanced Collections 草案定义,但是未出现在《WebDAV 顺序集协议》(RFC 3658)。...一般来说,这个问题都会在服务器程序码出错出现。 501 服务器不支持当前请求所需要某个功能。当服务器无法识别请求方法,并且无法支持其对任何资源请求。

76610

有效处理Java异常三个原则,你知道吗?

Java异常提供了一种识别及响应错误情况一致性机制,有效地异常处理能使程序更加健壮、易于调试。异常之所以是一种强大调试手段,在于其回答了以下三个问题: 什么出了? 在哪出?...所以问题很可能出现在前面的其中一个方法,幸好它也堆栈信息打印出来了。 不幸是,NullPointerException是Java中信息量最少(却也是最常遭遇且让人崩溃)异常。...通过检测到错误时立刻抛出异常来实现迅速失败,可以有效避免不必要对象构造或资源占用,比如文件或网络连接。同样,打开这些资源所带来清理操作也可以省却。...上 面的代码完全没有能力从FileNotFoundException恢复过来情况下就捕获了它。如果文件无法找到,下面的方法显然无法读取它。...如果你方法无法胜任,那么就不要处理异常,把它留到后面捕获和在恰当层面处理。 结论 经验丰富开发人员都知道,调试程序最大难点不在于修复缺陷,而在于从海量代码找出缺陷的藏身之处。

1.6K10

HTTP 响应状态码全解

100 继续 101 交换协议 102 处理 2×× 请求成功响应状态码 2xx(Successful)类状态代码表示客户端请求已被成功接收、理解和接受。 200-正常,状态代码表示请求已成功。...204-无内容,状态代码指示服务器已成功完成请求,并且响应有效载荷主体没有要发送附加内容。...400 错误请求 400(错误请求)状态代码表示,由于被认为是客户端错误原因(例如,格式错误请求语法),服务器无法或不会处理该请求。...请求范围不满足 417 预期失败 418 我是个茶壶,超文本咖啡罐控制协议,但是并没有被实际HTTP服务器实现 421 错误请求 422 不可处理实体 423 锁定 424 失败依赖关系 426...Error)类表示服务器意识到它已经出错无法执行请求方法。

2.7K30

那些熟悉却说不出设计法则

= 防法则认为大部分出错都是产品设计不够优秀,而不该责怪用户操作疏忽,通过设计手法可以把出错率降到最低。防法则核心观点是如何有效在用户出错之前就尽量避免错误发生。...这样设计,最大化避免用户出错,提高产品易用性。当然,用户输入他人或者无效手机号是无法避免。 02 保险原理: 藉用两个以上动作必须共同或依序执行才能完成工作。...2、藉用两个以上动作必须依序执行才能完成工作,互联网产品应用广泛,例如用户要删除一项列表且该列表无法恢复时,必须先点击删除按钮,再点击弹窗确认按钮才能成功删除列表(如图示)。...05 复制原理: 同一件工作,如需做二次以上,最好采用复制方式来达成, 省时又不出错某些APP,用户填写一些信息时,系统会将这些信息保存下来,以便用户下次使用时直接复用。...当mac电脑某个程序出现异常时,就会用程序图标不停跳动方式,来告知用户该程序存在异常,需要及时处理;i Phone输入密码解锁时,如果密码输入有误,密码区会通过左右摆动且配合连续两次震动方式,来告知用户密码输入有误

59630

Javascript错误处理

我们主要讲错误处理。 try/catch try/catch语句是js处理异常一种方式,它非常好理解,try里面是写我们代码,catch是我们try代码如果出错怎么显示报错。...我们试想一下,一个代码块写一个这样方法,这样我们找就特别容易,尤其是多人开发同一项目。...finally子句 finally子句是try/catch可选内容,在前面说到如果写在try内容出错了,会直接跳出并执行catch内容。....例如,递归过多导致了栈溢出.这类型并不是代码通常要处理错误。...在给eval()传入字符串包含JavaScript语法错误时发生 七、TypeError 类型错误 在给函数传参前没有验证情况下,错误频繁发生 八、URIError 路径错误 自定义抛出错

80930

The server encountered an internal error that prevented it from fulfilling this request一种解决办法

测试数据时,表单提交数据超出原设定范围,所引起异常。 2-1 问题解决方法 对异常捕获,仅仅捕获了 SQLException,导致其他异常出现时,被抛出。...当输入信息错误时,给出了不是我所写错误处理办法,(我错误处理办法是,给出提示:系统繁忙,稍后操作!)输入超出原定范围数据。...此处通过捕获抛出异常进行处理,跳转到一个操作失败页面 点击确定后出现错误如下: 回去检查文件代码,多次修改,发现该问题解决办法: 修改前代码: 修改后代码:(红线已标出...named 'useId' in 'class com.zduod.manage.face.entity.ZddInformation' 此处是因为mybatis解析属性错误,信息为useId实体无对应...此处配置文件mapper.xml写userId为useId导致解析数据报错,服务器无法处理请求。

3.6K40

HTTP状态码大全

一般来说,这个问题都会在服务器端源代码出现误时出现。如果遇到了这个问题,就要告诉服务端开发,让他查问题。 502 作为网关或者代理工作服务器尝试执行请求时,从上游服务器接收到无效响应。...接受请求处理并返回202状态码响应应当在返回实体包含一些指示处理当前状态信息,以及指向处理状态监视器或状态预测指针,以便用户能够估计操作是否已经完成。...如果401响应包含了与前一个响应相同身份验证询问,且浏览器已经至少尝试了一次验证,那么浏览器应当向用户展示响应包含实体信息,因为这个实体信息可能包含了相关诊断信息。参见RFC 2617。...412 Precondition Failed 服务器验证在请求头字段给出先决条件时,没能满足其中一个或多个。...500 Internal Server Error 服务器遇到了一个未曾预料状况,导致了它无法完成对请求处理。一般来说,这个问题都会在服务器端源代码出现误时出现

1.4K40

计算机二级Python考点解析9

人生苦短,我们都要用Python,大家要经常回看大纲~ 考试内容三、Python语言程序控制结构 第四部分:程序异常处理:try-except。...异常处理 与其他语言相同,python,try/except语句主要是用于处理程序正常执行过程中出现一些异常情况,如语法(python作为脚本语言没有编译环节,执行过程对语法进行检测,出错后发出异常消息...)、数据除零错误、从未定义变量上取值等;而try/finally语句则主要用于无论是否发生异常情况,都需要执行一些清理工作场合,如在通信过程,无论通信是否发生错误,都需要在通信完成或者发生错误时关闭网络连接...默认情况下,程序段执行过程,如果没有提供try/except处理,脚本文件执行过程中所产生异常消息会自动发送给程序调用端,如python shell,而python shell对异常消息默认处理则是终止程序执行并打印具体出错信息...这也是python shell执行程序错误后所出现出错打印信息由来。

46110

HTTP状态码详解对照表

接受请求处理并返回202状态码响应应当在返回实体包含一些指示处理当前状态信息,以及指向处理状态监视器或状态预测指针,以便用户能够估计操作是否已经完成。...如果401响应包含了与前一个响应相同身份验证询问,且浏览器已经至少尝试了一次验证,那么浏览器应当向用户展示响应包含实体信息,因为这个实体信息可能包含了相关诊断信息。参见RFC 2617。...添加了表明请求消息体长度有效Content-Length头之后,客户端可以再次提交该请求。 412 服务器验证在请求头字段给出先决条件时,没能满足其中一个或多个。...(RFC 4918 WebDAV) 425 WebDav Advanced Collections草案定义,但是未出现在《WebDAV顺序集协议》(RFC 3658)。...一般来说,这个问题都会在服务器程序码出错出现。 501 服务器不支持当前请求所需要某个功能。当服务器无法识别请求方法,并且无法支持其对任何资源请求。

57740
领券