首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏我的博客

    【C++11异常

    if (isTimeout(netEx)) { retryOperation(); } else { throw; // 其他网络异常重新抛出 送不出去,则就需要捕获异常再重新抛出,其次如果不是网络差导致的 // 错误,捕获后也要重新抛出。 ,if中是102号错误,网络不稳定,则重新发送 // 捕获异常,else中不是102号错误,则将异常重新抛出 if (e.getid() == 102) { // 重试三次以后都失败了 ,则说明网络太差了,重新抛出异常 if (i == 3) throw; cout << "开始第" << i + 1 << "重试" << endl; } else 例如: void func() throw(std::runtime_error, std::logic_error); // 可能抛出两种异常 • C++11异常规范进行了重大改进: 用noexcept

    21910编辑于 2025-12-22
  • 来自专栏Linux网络

    【C++11异常

    前言 上文我们学习到了C++11中类的新功能【C++11】类的新功能-CSDN博客 本文我们来学习C++下一个新语法:异常 1.异常的概念 异常的处理机制允许程序在运行时就出现的问题进行相应的处理 ,则抛出异常 //若是网络信号不好时抛出异常,尝试多次发送 class Exception { public: Exception(const string& errmsg, int id) : string _type; }; void _SeedMsg(const string& s) { if (rand() % 2 == 0) { throw HttpException("网络不稳定 } catch (Exception& e) { if (e.getid() == 102) { //重新尝试 if (i == 3) { //网络信号太差 ,表示可能会抛出异常,如果会抛出多个类型的异常,使用逗号隔开。 C++11中表示方式会更简便一些,函数后面加noexcept表示不会抛出异常

    10610编辑于 2026-01-14
  • 来自专栏学习/读书笔记

    Java入门(11)-- 异常处理

    这个对象就是异常对象,通过异常处理机制,可以将非正常情况下的处理代码与程序的主逻辑分离,即在编写代码主流程的同时在其他地方处理异常。 常见的异常类: 11.4 自定义异常 使用Java内置的异常类可以描述在编程时出现的大部分异常情况,除此之外,用户只需要继承Exception类即可自定义异常类。 在程序中使用自定义异常类,大体可分为以下几个步骤: 1)创建自定义异常类; 2)在方法中通过throw关键字抛出异常对象; 3)如果在当前抛出异常的方法中处理异常,可以使用try-catch语句块捕获并处理 通过throw抛出异常后,如果想在上一级代码中来捕获并处理异常,则需要在抛出异常的方法中使用throws关键字在方法的声明中指明要抛出的异常;如果要捕捉throw抛出的异常,则必须使用try-catch RuntimeException异常的种类: 11.7 异常的使用原则 Java异常强制用户去考虑程序的强建性和安全性,异常处理不应用来控制程序的正常流程,其主要作用是捕获程序在运行时发生的异常并进行相应的处理

    52030编辑于 2022-04-07
  • 来自专栏生活不止眼前的代码

    SpringCloudGateway笔记(11)-异常拦截

    本文链接:https://blog.csdn.net/yingziisme/article/details/94591183 使用SpringCloudGateway的全局异常拦截 其实这个应该是webflux 的全局异常拦截,由于gateway使用的是webflux的底层,不是servlet容器,异常处理需要继承ErrorWebExceptionHandler 具体实现如下 @Slf4j @Component

    1.2K10发布于 2019-08-30
  • 来自专栏知一杂谈

    网络异常测试

    常见的异常类型 image.png 上面的异常是一些常见的功能性异常,其它性能方面的异常不在本文讨论范围。 实施手段 需要的工具 python 脚本 iptables,对网络流量进行规则过滤 tcpkill,用来断开网络构造异常 curl,发起 http 访问请求 Python脚本 主要作用是启动一个TCP监听 在访问过程中通过配置iptables来实现网络的各种异常情况。 通过 tcpkill 来实现连接中断的异常情况。 ,当我们在做一个基础组件或者进行网络通信请求时需要考虑到这些异常情况,最好还是将各种常见的情况模拟实施一下,来保证服务的稳定性。 还有一个关键点是慎用重试,偶然的网络波动导致的异常在重试下会很有效,但是当遇到服务性能导致的超时问题时,就遇到大量的客户端重试导致请求翻倍,很可能会直接把服务打挂,所以不要轻易使用重试,可以通过一些额外的补偿机制来提高服务稳定性

    1.4K10编辑于 2021-12-07
  • 来自专栏Java 技术小屋

    Java 异常处理下篇:11异常处理最佳实践

    最佳实践早抛出,晚捕获原则早抛出,晚捕获是异常处理中比较经典的原则,它告诉我们出现异常时应该尽可能早的抛出而不是等异常变得更加复杂后再抛出;而捕获异常时,需要等我们可以处理时再进行捕获,而不是为了捕获而捕获 只捕获可以处理的异常来让代码更加健壮,无法处理异常捕获并没有实际意义。 Exception,以便提供更明确的异常信息,让调用者更容易处理异常情况。 public void readFile(String filename) throws IOException { // 读取文件的代码}正确包装自定义异常中的异常在自定义异常中包装其他异常时, try { // 可能抛出异常的代码} finally { // 不要在 finally 块中抛出异常 // 可以记录异常或其他清理操作}避免使用异常进行流程控制异常应该用于处理错误和异常情况

    1K40编辑于 2023-12-15
  • Java 异常处理下篇:11异常处理最佳实践

    最佳实践早抛出,晚捕获原则早抛出,晚捕获是异常处理中比较经典的原则,它告诉我们出现异常时应该尽可能早的抛出而不是等异常变得更加复杂后再抛出;而捕获异常时,需要等我们可以处理时再进行捕获,而不是为了捕获而捕获 ,只捕获可以处理的异常来让代码更加健壮,无法处理异常捕获并没有实际意义。 ,但不要同时执行在异常处理中,要么将异常记录下来要么将其抛出,不要两者兼而有之。 java 代码解读复制代码try { // 可能抛出异常的代码} finally { // 不要在 finally 块中抛出异常 // 可以记录异常或其他清理操作}避免使用异常进行流程控制异常应该用于处理错误和异常情况 相反,如果这种异常被包裹在自定义异常中则会更好。NoSuchFileFoundException 则对该方法的调用者更有用。异常处理后清理资源在异常处理中,确保清理已分配的资源,以避免资源泄漏。

    46210编辑于 2024-11-11
  • 来自专栏MasiMaro 的技术博文

    Java 学习笔记(11)——异常处理

    异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出 java.lang.ArithmeticException Java中的异常主要分为下列几类: 检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。 运行时异常: 运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。 错误: 错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。 方法声明时可以抛出多个异常,如果多个异常有继承关系,那么只需要抛出父类异常即可。如果父类的方法没有抛出异常,子类在重写父类方法时也不能使用这种方式抛出异常 try...catch 处理异常

    66840发布于 2019-07-01
  • 来自专栏编程宝典

    Windows 11 启用 Hyper-V 之后网络上传速度异常慢解决方案

    最近在开发用的台式机上启用了 Windows 的 Hyper-V 虚拟化功能,利用虚拟机运行了一台 Windows Server 2022 和 一台 Ubuntu Server,为了方便别的机器直接访问这两台虚拟机,所以网络采用了外部网络桥接的模式 为了实现在这一目的,所以创建了一个虚拟的外部网络交换机,我这边的网卡是 Intel AX210 无线网卡。 以前正常外网网速的测试: 开启 Hyper-V 的虚拟外部网络交换机之后的外网测速 可以看到外网上传速度慢了一半左右,下载速度无差异。 具体操作如下: 在电脑的设置中找到网络设置,点击高级网络设置 在界面的最下方点击更多网络设配器选项 选中 Hyper-V 创建的虚拟网卡 右击网卡,查看属性,然后点击配置按钮 至此关于 Windows 11 启用 Hyper-V 之后网络上传速度异常慢解决方案 就讲解完了,有任何不明白的,可以在文章下面评论或者私信我,欢迎大家积极的讨论交流,有兴趣的朋友可以关注我目前在维护的一个

    4.4K51编辑于 2023-05-03
  • 来自专栏Java

    【Java SE语法篇】11.异常

    在日常开发中,绞尽脑汁将代码写的完美,在程序运行过程中,难免会出现一些奇奇怪怪的问题,有时通过代码很难去控制,比如:数据格式不对、网络不通畅、内存报警等。 比如之前写代码时经常遇到的: 算术异常 数组越界异常 空指针异常 从上述过程中可以看到,Java 中不同类型的的异常,都有与其对应的类进行描述 1.2 异常体系 异常种类繁多,为了对不同异常或者错误进行很好的分类管理 1.3 异常的分类 异常可能在编译时发生,也可能在程序运行时发生,根据发生的时机不同,可以将异常分为: 编译时异常 在程序编译期间发生的异常,称为编译时异常,也称为受检查异常(Checked Exception 对于比较严重的问题(例如和算钱相关的场景), 应该让程序直接崩溃, 防止造成更严重的后果 对于不太严重的问题(大多数场景), 可以记录错误日志, 并通过监控报警程序及时通知程序猿 对于可能会恢复的问题(和网络相关的场景 都需要执行,比如程序中打开的资源:网络连接、数据库连接、IO流等,在程序正常或者异常退出时,必须要对资源进进行回收。

    27110编辑于 2024-05-07
  • 来自专栏Linux基础入门

    11)Linux网络命令

    :ping 命令所在路径:/bin/ping 执行权限:所有用户 语法:ping 选项 IP地址 -c 指定发送次数 功能描述:测试网络连通性 例1:time越短,网络越好。同时在ping时我们重点关注packet loss,如果丢包率非常高,即使ping通了,说明网络状态也很差。 ? ? 4. 命令名称:netstat 命令所在路径:/bin/netstat 执行权限:所有用户 语法:netstat [选项] 功能描述:显示网络相关信息 选项: -t: 例2:netstat -an 查看本机所有网络链接 相对于-tlun,最大的区别在于,-tlun只能查看监听,-an可以查看正在连接的网络程序 ? 命令名称:setup 命令所在路径:/usr/bin/setup 执行权限:root 语法:setup 功能描述:配置网络 例1:输入setup后显示如下图 ?

    76620发布于 2020-08-26
  • 来自专栏kl的专栏

    Quarkus的No timezone mapping entry for CST异常(11)

    异常问题 quarkus应用使用Graalvm打包成native image后,运行时抛No timezone mapping entry for 'CST'的异常,这个异常是说环境里缺少CST 所以,如果你显示的配置了时区的名称,可能异常就是报不能映射你配置的时区了,解决这个问题只需在配置文件中加入一个参数即可。

    54330编辑于 2023-11-17
  • 《C++进阶之C++11》【异常

    不要滥用异常异常适用于处理罕见且不可预测的错误(如:文件损坏、网络中断) 异常会增加程序复杂度,应避免滥用(如:用异常替代普通条件判断),否则会降低程序性能和可读性 7. (如:"网络不稳定,发送失败") int _id; // 异常对应的错误码(如:102 代表网络错误) string _type; // HTTP 请求类型(如:"put C++98和C++11异常规范有什么区别? func() throw(int); 函数仅可能抛出 int 类型异常 void func() throw(int, string); 函数可能抛出 int 或 string 异常 C++11异常规范 noexcept:是 C++11 引入的异常规范关键字,用于声明函数是否可能抛出异常

    21020编辑于 2025-12-18
  • Java EE(11)——初识网络

    这便是本文所要讨论的内容 IP地址 IP地址用于表示网络设备(如路由器)的网络地址。换言之,IP用于定位主机的网络地址。 网络通信为了解决上述问题,就引出了“协议”。协议又叫做网络协议,是网络数据传输经过的所有设备都必须遵守的一组约定和规则,协议最终体现在网络上传输的数据包的格式。 协议分层 网络通信是一件十分复杂的事情,需要的场景越复杂,要求就越高。 这里以UDP协议为例,在应用层数据包前面添加UDP报头,然后提交给网络层 UDP报头主要包含源端口和目的端口 3.网络网络层基于IP协议在UDP数据报前面添加IP报头,然后提交给数据链路层 3.网络网络层解析出IP报头,将IP数据报的载荷部分提交给传输层 4.传输层 传输层解析出UDP报头,将UDP载荷部分提交给应用层 5.应用层 应用层将数据包进行解析

    13610编辑于 2026-01-13
  • 来自专栏杨熹的专栏

    TensorFlow-11-策略网络

    AlphaGo 主要使用了快速走子,策略网络,估值网络,和蒙特卡洛搜索树等技术。 深度强化学习模型本质上也是神经网络,主要分为策略网络和估值网络。 ---- 今天要先来实现一下策略网络,就是要建立一个神经网络模型,可以通过观察环境状态预测出目前最应该执行的策略以及可以获得的最大的期望收益。 每个环境信息包含四个值,例如小车的位置速度等,我们不需要编写逻辑来控制小车,而是设计一个策略网络,让它自己从这些数值中学习到环境信息,并制定最佳策略。 我们的策略网络是要使用一个简单的带有一个隐含层的 MLP,隐含层节点数为10,环境信息的维度为4。 ? 用 reshape 得到策略网络输入的格式,然后获得网络输出的概率 tfprob,然后在 0-1 之间随机抽样得到 action,如果它小于这个概率就利用行动取值为1,否则为0。 ?

    85550发布于 2018-04-03
  • 来自专栏阿杜的世界

    【译】11条Java异常处理的最佳实践

    本文翻译自Top 11 Java Exception Best Practices ---- 在之前关于Java异常的文章中,已经探讨过suppressed exceptions和Java Exceptions 如果在这一层次不知道如何处理异常,最好将异常重新抛出,由上层决定如何处理异常。 仅在异常情况下使用异常; 在可恢复的异常情况下使用异常; 尽管使用异常有利于Java开发,但是在应用中最好不要捕获太多的调用栈,因为在很多情况下都不需要打印调用栈就知道哪里出错了。 因此,异常消息应该提供恰到好处的信息。 使用标准异常 如果使用内建的异常可以解决问题,就不要定义自己的异常。 为异常记录合适的文档 为应用中定义的异常定义合适的文档,如果你写了一个自定义的异常却没有文档,其他开发者会不清楚这个异常的含义,为你定义的异常配备对应的文档是一个非常好的习惯。

    58340发布于 2018-08-06
  • 来自专栏Linyb极客之路

    网络编程之socket异常总结

    异常的原因是己方主动关闭了连接后(调用了 Socket 的 close 方法)再对网络连接进行读写操作。 前两个异常的解决方法是首先确保程序退出前关闭所有的网络连接,其次是要检测对方的关闭连接操作,发现对方 关闭连接后自己也要关闭该连接。 对于 4 和 5 这两种情况的异常,需要特别注意连接的维护。 b) 检测对方的宕机、异常退出及网络不通,一般做法都是心跳检测。 双方周期性的发送数据给对方,同时也从对方接收“心跳数据”,如果连续几个周期都没有收到 对方心跳,则可以判断对方或者宕机或者异常退出或者网络不通,此时也需要主动关闭己方连接;如果是客户端可在延迟一定时间后重新发起连接 虽然 Socket 有一个keep alive 选项来维护连接,如果用该选项,一般需要两个小时才能发现对方的宕机、异常退出及网络不通。

    2.5K90发布于 2018-03-27
  • 来自专栏数据云团

    Python-数据挖掘-网络异常

    可以为 HTTP 请求设置超时时间,一旦超过这个时间,服务器还没有返回响应内容,就会抛出一个超时异常,这个异常需要使用 try 语句来捕获。 例如,使用一个 IP,它的响应速度需要2秒。 如果将超时时间设置为 1s,程序就会抛出异常。 (url, timeout=1) result = file.read() print(result) except Exception as error: print(error) 二、网络异常 ① URLError 异常和捕获 URLError 产生的原因主要有以下几种: 没有连接网络; 服务器连接失败; 找不到指定的服务器; 可以使用 try...except 语句捕获相应的异常。 ② HttpError 异常和捕获 每个服务器的 HTTP 响应都有一个数字响应码,这些响应码有些表示无法处理请求内容。如果无法处理,urlopen() 会抛出 HTTPError。

    1K40发布于 2019-07-18
  • 来自专栏devops_k8s

    11 . Python3之异常,调试和测试

    还有一类错误是完全无法在程序运行过程中预测的,比如写入文件的时候,磁盘满了,写不进去了,或者从网络抓取数据,网络突然断掉了。 异常就是程序运行时发生错误的信号(在程序出现错误时,会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中错误出发的异常如下: 而错误分成两种: 1.语法错误( 值 异常处理结构: try: # 会出现异常的代码块 except 异常类型 as 异常别名: # 异常处理逻辑 else: # 没有出现异常执行该分支 finally: # 无论是否出现异常都会执行该分支 # 主动抛出异常 raise 异常类型('异常信息') # 自定义异常类 class MyError(BaseException): def __init__(self,msg): 多分支异常与万能异常 如果你想要的效果是,无论出现什么异常,我们统一丢弃,或者使用同一段代码逻辑去处理他们,那么骚年,大胆去做吧,只要有一个Exception就足够了.

    2.3K40发布于 2020-09-27
  • 来自专栏玖叁叁

    Python网络编程-网络编程中的异常处理(二)

    连接超时在网络编程中,连接超时是一种常见的异常情况。当尝试连接到一个不可达的主机时,可能会发生连接超时异常。 如果连接超时,将捕获 socket.timeout 异常并输出错误信息。无论是否发生异常,最后都要关闭 socket 连接。

    80120编辑于 2023-04-19
领券