- 论坛徽章:
- 0
|
本人比较熟悉c, 不熟悉c++.
一直有一个疑问,oo语言中,异常到底有什么作用。
在我看来,异常的发明纯粹是多此一举。
在c语言中,进行入参检验,不同的返回值表示不同的意思。这就把异常的功能完全实现了。
在oo语言中,发明一个奇怪的名词,叫做异常,还有一些奇怪的语法和数不清的异常类,让我学习到郁闷吐血,随便举个python的异常类为例
exception objects
产生例外:raise Exception,raise Exception('hyperdrive overload'),raise RuntimeError("Unrecoverable Error")
查看例外种类: import exceptions 然后再:dir(exceptions),可以直接调用这些例外种类,比如:raise ArithmeticError。
重要的例外种类:Exception、AttributeError、IOError、IndexError、KeyError、NameError、SyntaxError、TypeError、ValueError、ZeroDivisionError
异常的类又多,搞得我又分不清什么是异常,什么是错误,要抛出哪些异常。还有奇怪的语法,try这try那,总之,很烦琐,但是无论在效率,在清晰度,在解决问题上都没有带来任何好处。
我一直奇怪,这些号称很聪明的语言发明人都是干嘛的。 |
|