第十章 错误处理与异常

(1)

(2)在rescue中使用retry后,begin以下的处理会重新执行一遍。如下例子,程序每隔10秒执行一次File.open,直到能成功打开文件为止,打开文件后再读取其内容。

如上目录中没有two2.txt文件,程序每隔10秒就运行一次,直到后面我们在该目录下创建two2.txt程序才运行结束。这个如果指定了无论如何都打不开的文件就会陷入死循环。但是这个可以用于比如抢购小米手机这样的原理,目标可以访问,你不断刷新即可。

(3)

(4)当存在多个种类的异常,我们希望对不同的异常进行不同的处理,那我们可以用多个rescue来分开处理

begin   
可能发生异常的处理
rescue Exception1, Exception2 => 变量
对Exception1 或者 Exception2的处理
rescue Exception3 => 变量
对Exception3 的处理
rescue   
对上述异常以外的异常的处理
end

(5)

Ruby中所有的异常都是Exception类的子类。

rescue 中指定的异常的种类实际上就是异常类的类名。

rescue 中不指定异常类时,程序会默认捕捉 StandardError 类及其子类的异常。

(6)使用class语句,我们呢就可以进行定义方法等操作。

(7)主动抛出异常

时间: 2024-12-29 04:34:56

第十章 错误处理与异常的相关文章

《Python核心编程》 第十章 错误和异常

10–1. 引发异常. 以下的哪个因素会在程序执行时引发异常? 注意这里我们问的并不是异常的原因. a) 用户 b) 解释器 c) 程序 d) 以上所有 e) 只有 b) 和 c) f) 只有 a) 和 c) 答:f 10–2. 引发异常. 参考上边问题的列表, 哪些因素会在执行交互解释器时引发异常? 答:f 10–3. 关键字. 用来引发异常的关键字有那些? 答:raise 10–4. 关键字. try-except 和 try-finally 有什么不同? 答: 你可以使用 try-exce

ASP.NET全局错误处理和异常日志记录以及IIS配置自定义错误页面

应用场景和使用目的 很多时候,我们在访问页面的时候,由于程序异常.系统崩溃会导致出现黄页.在通常的情况下,黄页对于我们来说,帮助是极大的,因为它可以帮助我们知道问题根源,甚至是哪一行代码出现了错误.但这对于用户是非常可怕的,因为用户不知道发生了什么,也无法了解黄页给出的内容.甚至,如果我们遇到一些不友好的人,他们会拿这些内容大做文章,对我们网站产生威胁. 那我们如何在程序异常.系统崩溃时,不会出现黄页,并且还可以给出一些更加友好的提示呢?甚至在我们需要的时候,可以收集这些异常信息,并加以分析,能

[转载]针对IIS7以上的ASP.NET网站自定义错误页面与异常日志总结

针对IIS7以上的ASP.NET网站自定义错误页面与异常日志总结 汪宇杰 2014-1-11 星期六 02:31 455 Reads 1 Comments 自定义错误页面和异常记录是个很古老的话题了,但依旧可以让人爆到现在.在我做了无数次试验并总结经验和原则后,写下本文,已警后人. 本文的范围和限制 本文仅仅适用于部署在IIS7或以上版本中的ASP.NET 4.0集成模式应用程序.IIS7以上的意思是Windows Server 2008以上服务器适用.我已在WS2012R2,IIS8上测过.

ruby错误处理和异常

一.常见异常 异常名 常见原因 怎样抛出 RuntimeError raise抛出的默认异常 raise NoMethodError 对象找不到对应的方法 a=Oject.new a.jackmethod NameError 解释器碰到一个不能解析为变量或方法名的标识符 a=jack IOError 读关闭的流,写只读的流,或类似的操作 STDIN.puts("不能写入") Errno::error 与文件IO相关的一类错误 File.open(-10) TypeError 方法接受到

Ext JS 5 关于Store load返回json错误信息或异常的处理

关于在store load的时候服务器返回错误信息或服务器出错的处理.ExtJS4应该也能用,没测试过. 这里有两种情况: 服务器返回错误json错误信息,状态为200 服务器异常,状态为500 一.返回json错误信息的处理 在store获取json数据时,数据结构类似: { "users": [{ "id": 1, "name": "Ed", "orders": [{ "id": 1

《Python编程从入门到实践》_第十章_文件和异常

读取整个文件 文件pi_digits.txt #文件pi_digits.txt 3.1415926535 8979323846 2643383279 下面的程序打开并读取整个文件,再将其内容显示到屏幕中: with open("pi_digits.txt") as fileobject: contents = fileobject.read() print(contents) #运行结果 3.1415926535 8979323846 2643383279 使用函数open()打开文件

Retrofit请求数据对错误以及网络异常的处理

异常处理 Retrofit本身会抛出HttpException,Gson解析会抛出解析异常, 此外我们还应该处理与服务器约定好的"异常",即上一篇提到的返回数据中result字段值不会0的情况 这里要先解决一个问题,就是Gson构建的对象,通过注解定义key名,以变量的类型定value的类型, 但如果同样的key在不同情况下属于不同的数据类型,就会出问题. 假如服务器返回格式是 { "result":"结果代号,0表示成功", "msg

C#基本语法复习-错误管理和异常

未处理的异常: 如果在catch中没有捕获到错误,则会返回他的调用方法,以此直到找到匹配的catch如果最后未找到则会直接提示出错. cheacked与uncheacked: cheacked会打开整数溢出检查:cheacked{...}或则cheacked(...); uncheacked为关闭整数溢出检查.

C#中MVC开发错误,类型异常

众所周知猫生猫,狗生狗,猫不可能生出狗来.同样的实体是一种强类型关系,经常会因类型写错而报错.无非是一点一点的排除找错,但是ViewModle中,你会去看吗? 有一种错误叫"AutoMapper.AutoMapperMappingException"类型的异常在AutoMapper.dll 中发生,但未在用户代码中进行处理",也可以叫"Missingtype map configuration or unsupported mapping",反正就是类型不