main
虽然是void
,返回的也是成功为0,失败为非0
.
scope(exit,成功,失败),后两个成功或失败后执行.第一个退出域时则执行.失败指出现异常.可以写成块.其实就是函数版的析构函数
static assert
编译时必须成立的断定
.這相当于说是前提条件
.没有前提条件
,程序就可以退出了.
断定
在单元测试/合同编程
中很重要.
-release
开关,会在发布版本中删掉断定
.而断定(假)
的地方不會删除.表示不可达
.
enforce
确保抛
异常.如果不满足条件,就抛.
不能完成任务
,就抛异常.
异常是错误,但不是所有错误都是异常.
异常是可以恢复
的错误.经过處理
后就正常了.