首页 > 解决方案 > EXC_BAD_ACCESS 如果发生错误,告诉我们如何尝试catch

问题描述

let path = DataManager.Data.filePath
self.pdfDocument = PDFDocument(url: URL(fileURLWithPath: path))!

self.pdfView.document = self.pdfDocument   <——— EXC_BAD_ACCESS Error on this line.

EXC_BAD_ACCESS 如果发生错误,告诉我们如何尝试catch。

打开所有 pdf 文件时不会发生这种情况,但是当尝试打开特定的 pdf 文件时,会发生 EXC_BAD_ACCESS。

首先,当 EXC_BAD_ACCESS 发生时,您想通过 try catch 防止应用程序崩溃。

我已经尝试了所有的方法,但我没能抓住它,我一直在这条线上迷恋。

我该怎么办..?

标签: iosswift

解决方案


发生错误是因为您尝试传递给 pdfDocument 的路径是 nil 并且您尝试强制解包它,

尝试使用此错误处理

let path = DataManager.Data.filePath
if let document =  PDFDocument(url: URL(fileURLWithPath: path)) {
self.pdfView.document = document 
}
else {
 //return from function or do what ever you need if you can't get the pdf document
} 

推荐阅读