服务端异常是怎么回事 如何优雅处理前端异常?
如何优雅处理前端异常?
随着业界对用户体验的重视,前端异常处理也得到了重视。像过去一样,很少有网站关心你的前端是否会异常,但是现在更大的网站会收集前端异常,然后向服务器报告。
。让我们逐一看看。
1. 异常捕获
每个主流开发语言都使用try。。。抓住。。。捕捉异常。当然,前端JavaScript也不例外。最简单的代码如下:
try{…}catch(E){控制台.log(e)
]尽管我们可以尝试。。。抓住。。。对于异常的处理,也存在一个问题:代码会变得越来越复杂和臃肿,这种方法只适用于片段代码的异常捕获,全局异常捕获非常麻烦。
所以有更好的方法。
window.oner错误它不仅提供了错误代码的行号,还提供了错误借用信息,对我们准确定位异常非常有帮助。
2. 异常报告
当我们捕获前端异常时,我们需要将异常报告给后端服务器。我们通常通过Ajax提交。为了降低后端压力,我们建议如果前端异常类似,只报告一次。
经过以上处理,当当前端出现异常时,我们可以实时通知程序员进行检查和修复。
服务端返回结果长度为零异常是什么原因?
当TCP握手完成三次时,服务器TCP将连接放入已建立的连接队列。此时,客户机给出rst,然后accept返回。但是,accept返回一个econnectabort错误。这不是致命错误。
2. 服务器进程终止的过程如下:A.终止服务进程。作为进程善后处理的一部分,所有打开的文件描述符都是关闭的,这导致服务器TCP(注意“server”和“servertcp”是不同的概念)向客户端发送fin,客户端TCP用ACK响应。
b.客户端正在阻止scanf功能(基于上一篇文章中提到的客户端模型),这会导致客户端不知道服务器TCP已关闭连接。
c和客户端调用write,在scanf返回后将数据发送到服务器。由于服务端已被kill删除,服务器端TCP向客户端TCP发送RST。
d,客户端在发送数据后立即调用read来读取数据。由于FIN的第一步,read立即返回0(表示EOF),但是客户端希望接收刚才发送的数据而不是FIN。如果客户端随后向服务器发送数据,它将诱导服务器TCP向服务器发送SIGPIPE信号,因为它在向接收rst的套接字写入数据时将接收此信号。问题的本质是客户端同时处理两个描述符--套接字和用户输入,程序只在一个源上被阻塞。这个问题可以用1来解决。设置非阻塞模式。2使用Select和epoll。
3. 在客户端TCP发送数据之后,它将尝试重新传输,直到它放弃并向客户端进程返回错误消息。Etimeout表示没有相应的连接,ehostunach表示路由器确定主机不可访问。
4. 服务器崩溃后重新启动
由于服务器TCP丢失了以前的连接信息,这将导致服务器发送rst,此时客户端块在读取函数中,这将导致返回econnectreset错误。
5。当服务器关闭时
init进程将首先向所有进程发送SIGTERM(此信号可以被捕获),然后在一段时间后向仍在运行的程序发送sigkill(次),这与终止服务器进程是一样的。
服务端异常是怎么回事 服务端错误是什么意思 淘宝显示服务端异常
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。