Hi:
遇到一个在SqliteDatabase类的构造函数内部,调用native方法打开数据库的问题。但没有对此操作做异常处理。如果数据库打开异常怎么办?
对此,一个很直接但欠考虑的方法是,对native方法进行try catch 捕获,然后在catch语句中重新构造该类的对象。
昨天还洋洋得意,今天一测试,傻眼了,栈溢出呀,自己一想挺明显的,因为一旦出问题,就会发生递归,不断的调用此对象。直到不能调用为止。
所以还是按照子勃的方法,抛出去,让其调用函数去构造本类的对象。
遇到一个在SqliteDatabase类的构造函数内部,调用native方法打开数据库的问题。但没有对此操作做异常处理。如果数据库打开异常怎么办?
对此,一个很直接但欠考虑的方法是,对native方法进行try catch 捕获,然后在catch语句中重新构造该类的对象。
昨天还洋洋得意,今天一测试,傻眼了,栈溢出呀,自己一想挺明显的,因为一旦出问题,就会发生递归,不断的调用此对象。直到不能调用为止。
所以还是按照子勃的方法,抛出去,让其调用函数去构造本类的对象。