繁体   English   中英

代码不是打印堆栈跟踪

[英]Code is not printing stack trace

我的android应用程序中有以下代码:

/**
         * Returns a single customer object based on UUID. */
        public static Customer getCustomer(UUID id)
        {
            try
            {
                Cursor cursor = CustomApp.data.db.query("Customer", customerCols,
                        "CustomerId='" + id.toString() + "'", null, null, null, null);
                if (cursor != null)
                    cursor.moveToFirst();
                Customer cust = new Customer(id);

                // Unrelated code here

                if (!cursor.isNull(23))
                    cust.isDeceased = (cursor.getInt(23) > 0); // EXCEPTION

                // More unrelated code here

                return cust;
            }
            catch (Exception ex)
            {
                ex.printStackTrace(); // This line gets skipped
                return null; // Code jumps to here
            }
        }

我正在尝试调试它。 cust.isDeceased = (cursor.getInt(23) > 0);行上有一个例外cust.isDeceased = (cursor.getInt(23) > 0); 为什么我得到异常完全是另一个问题)。 当代码到达该行时,它会跳转到catch部分。 我在ex.printStackTrace();行上放了一个断点ex.printStackTrace(); 但是代码完全跳过了这一行。 它只是直接跳转到return null; 线,并且永远不会打印堆栈跟踪。 因此,调试代码变得非常困难,因为我不得不猜测是什么问题。 (如果您看到该代码有问题,请告诉我,但这不是此问题的目的)。

对于我提供的信息/代码缺乏感到抱歉,但由于我完全不知道为什么会这样,我不知道什么是相关的,什么不是。 以前有人遇到过这个问题吗?

Log.e(“TAG”,“error”,ex); 试试这个而不是ex.printStackTrace(); 还尝试重启eclipse。

删除try catch子句,logcat会显示详细的异常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM