Trong Objective-C, Bất cứ khi nào một ứng dụng bị treo, tôi có thể nhận stack trace để xem nơi là phương pháp cuối cùng là nguyên nhân gây lỗi bằng cách sử dụng mã này trong AppDelegate
Làm cách nào để nhận được lỗi theo dõi ngăn xếp trong Swift?
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSSetUncaughtExceptionHandler(&myExceptionHandler);
return YES;
}
void myExceptionHandler(NSException *exception)
{
NSArray *stack = [exception callStackReturnAddresses];
NSLog(@"Stack trace: %@", stack);
NSLog(@"MyExceptionHandler");
}
và nó sẽ in stack trace log để giao diện điều khiển mà tôi có thể sử dụng để gỡ lỗi nguyên nhân của vấn đề thay vì kết thúc tại main.m
mà không có thông tin
Vậy làm cách nào tôi có thể thực hiện điều này trong Swift?
kiểm tra: http://stackoverflow.com/questions/24023112/try-catch-exceptions-in-swift –
Lưu ý: Mã của bạn chỉ cho thấy đống dấu vết cho trường hợp ngoại lệ, không phải cho tai nạn dựa tín hiệu khác. – Kerni