每行程序都有Bug

标题中提到“每行程序都有Bug”,我是个认真的人,我要好好考虑这个问题,我相信大部分程序员都会遇到下面我要说的问题。

1.int a = Integer.parseInt("12");//这里有必要进行try...catch..吗?
或者
2.String b="12";//b是个外界传递的变量,不固定
3.int a = Integer.parseInt(b);//这里有必要进行try...catch..吗?

对于上面代码,我觉得简单了,没有多说的必要。大部分人会认为1行不需要 进行try,2行需要;但是我要说点不一样的。
对于Integer.parseInt(“12”),在狭义的理解范围内不需要进行try,但是parseInt()也不是绝对不需要try的。只是在我这样的程序员眼里,此方法由JDK提供,稳定性能良好,”不需要”try。当然不try 也不能说算错。
我这里引入一个概念:对于程序中容易出错的代码行,概率大于5%的是需要try的。反之,可以不try。

我现在老是担心自己的代码行,会出错,try的地方太多,反而影响了执行效率。或许对于大家来讲牺牲执行效率,提高系统的稳定性,容错性才是对的。我有一个中庸的观点,对于错误率小于5%的代码,如果不想牺牲执行效率,就没有必要try 了。
回到起点,我们try…catch 的目的是为了在程序出错时不至于系统会shutdown掉。对于因为系统的运行环境问题而可能导致异常,其实不去try 也行。例如:我们装软件的时候,软件的系统位数问题。64位程序装到了32位系统上。

我觉得,开发是要尽可能的避免软件异常,但是也不能杜绝程序会有错。我们当然希望写的程序可以在任意恶劣的环境下正常运行,但也是没必要与不可能的。例如,我们可以在没电的电脑上运行吗?

上面所说有人可能认为我是在抬杠。好吧,我们在举个例子:发送网络请求,网络不通。或者突然间网络不通了。当然有解决的办法,我只是要说明的解决办法是设计的问题,是策略的问题,归根到底也是落到程序上。但不能面面俱到,十全十美。

以上是我个人意见,不喜欢请留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值