异常、基类

异常

人生和世界总是充满着意外,争议、冲突和战争似乎是人类必然经历的过程。程序执行也有不满的时候。

不同编程语言的异常

  • Ada/Modula-3是早期引入异常处理的语言。

  • C语言没有标准意义的异常,使用goto或setjmp模拟错误或异常发生时的处理流程。

  • C++/Java/C#/Python均有比较完整的异常处理语言标准,概念上是try...catch...finally.

手动触发异常

  • Python可以用raise手动触发异常。

更简洁的异常处理

  • Python提供with语句可以减少出错代码异常处理,配合__enter__和__exit__上下文管理器协议,特别方便。

基类

不是所有的牛奶都叫特仑苏,也不是所有的类都有基类。

类一定有基类?

  • C++默认情况下不限定类一定有一个原始基类,C++这种处于C和纯面向对象的设计使得它格外有选择权。

  • 对于Smalltalk/ObjC/Java/C#/Eiffel/Python默认一定有原始基类,即使语言允许不指定基类,编译器也会默认加上。
    • 例如Python中,定义一个空类,用内置函数dir查看它有哪些属性和方法。

基类的代号

  • Java: super.

  • C++和Eiffel必须用父类名因为支持多继承,super无法明确属于哪个基类。

修改根类

  • ObjC允许修改根类,即自定义一套新的NSObject类。


若文章对您有帮助,欢迎关注。助您在编程路上越走越好!

微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值