From 1595ca5d501e577f381fe4d660412993d426338b Mon Sep 17 00:00:00 2001 From: WangLin305 Date: Fri, 19 Sep 2025 13:48:02 +0800 Subject: [PATCH 1/3] catch throw error --- entry/src/main/ets/common/utils/ReadFile.ets | 32 +++++++++++-------- entry/src/main/ets/common/utils/WriteFile.ets | 15 ++++++--- entry/src/main/ets/view/PublicFilesTab.ets | 7 +++- 3 files changed, 35 insertions(+), 19 deletions(-) diff --git a/entry/src/main/ets/common/utils/ReadFile.ets b/entry/src/main/ets/common/utils/ReadFile.ets index 5bfa86e..6b23a10 100644 --- a/entry/src/main/ets/common/utils/ReadFile.ets +++ b/entry/src/main/ets/common/utils/ReadFile.ets @@ -16,6 +16,7 @@ import { fileIo } from '@kit.CoreFileKit'; import { common } from '@kit.AbilityKit'; import { buffer } from '@kit.ArkTS'; +import { hilog } from '@kit.PerformanceAnalysisKit'; const uiContext: UIContext | undefined = AppStorage.get('uiContext'); @@ -30,17 +31,22 @@ let res: string = ''; * @return string. */ export function readFile(): string { - let filePath = filesDir + '/test.txt'; - let stat = fileIo.statSync(filePath); - let size = stat.size; - let buf = new ArrayBuffer(size); - // Open a file stream based on the file path. - let fileStream = fileIo.createStreamSync(filePath, "r+"); - // File stream reading information - fileStream.readSync(buf); - // Converts the read information to the string type and returns the string type. - let con = buffer.from(buf, 0); - res = con.toString(); - fileStream.close(); - return res; + try { + let filePath = filesDir + '/test.txt'; + let stat = fileIo.statSync(filePath); + let size = stat.size; + let buf = new ArrayBuffer(size); + // Open a file stream based on the file path. + let fileStream = fileIo.createStreamSync(filePath, "r+"); + // File stream reading information + fileStream.readSync(buf); + // Converts the read information to the string type and returns the string type. + let con = buffer.from(buf, 0); + res = con.toString(); + fileStream.close(); + return res; + } catch (error) { + hilog.error(0x0000, 'readFile', `readFile catch error, code: ${error.code}, message: ${error.message}`); + return ''; + } } diff --git a/entry/src/main/ets/common/utils/WriteFile.ets b/entry/src/main/ets/common/utils/WriteFile.ets index b1cfd57..ded9fd6 100644 --- a/entry/src/main/ets/common/utils/WriteFile.ets +++ b/entry/src/main/ets/common/utils/WriteFile.ets @@ -15,6 +15,7 @@ import { fileIo } from '@kit.CoreFileKit'; import { common } from '@kit.AbilityKit'; +import { hilog } from '@kit.PerformanceAnalysisKit'; const uiContext: UIContext | undefined = AppStorage.get('uiContext'); let context = uiContext!.getHostContext() as common.UIAbilityContext; @@ -26,9 +27,13 @@ let filesDir = context.filesDir; * @param content Contents to be written to the file */ export function writeFile(content: string): void { - let filePath = filesDir + '/test.txt'; - // Open a file stream based on the file path. - let fileStream = fileIo.createStreamSync(filePath, "w+"); - fileStream.writeSync(content); - fileStream.close(); + try { + let filePath = filesDir + '/test.txt'; + // Open a file stream based on the file path. + let fileStream = fileIo.createStreamSync(filePath, "w+"); + fileStream.writeSync(content); + fileStream.close(); + } catch (error) { + hilog.error(0x0000, 'readFile', `readFile catch error, code: ${error.code}, message: ${error.message}`); + } } \ No newline at end of file diff --git a/entry/src/main/ets/view/PublicFilesTab.ets b/entry/src/main/ets/view/PublicFilesTab.ets index 5dfae59..a660f85 100644 --- a/entry/src/main/ets/view/PublicFilesTab.ets +++ b/entry/src/main/ets/view/PublicFilesTab.ets @@ -18,6 +18,7 @@ import { fileIo } from '@kit.CoreFileKit'; import Logger from '../common/utils/Logger'; import { readUserFile, saveToUser } from '../common/utils/SavingAndSelectUserFile'; import { photoPickerGetUri } from '../common/utils/PictureSaving'; +import { hilog } from '@kit.PerformanceAnalysisKit'; @Component export struct publicFilesTab { @@ -49,7 +50,11 @@ export struct publicFilesTab { let context = this.getUIContext().getHostContext(); let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context); // Creating a Media File - let uri = await phAccessHelper.createAsset(photoAccessHelper.PhotoType.IMAGE, 'jpg'); + let uri = await phAccessHelper.createAsset(photoAccessHelper.PhotoType.IMAGE, 'jpg') + .catch((error: BusinessError) => { + Logger.error(`createAsset catch error, code: ${error.code}, message: ${error.message}`); + return ''; + }) Logger.info('createAsset successfully, uri: ' + uri); // Open the created media file and read the local file and convert it to ArrayBuffer for easy filling. let file = await fileIo.open(uri, fileIo.OpenMode.READ_WRITE); -- Gitee From 3a2e5f93b375ce62e064e46848bf7cc2ace0992b Mon Sep 17 00:00:00 2001 From: WangLin305 Date: Fri, 19 Sep 2025 13:49:19 +0800 Subject: [PATCH 2/3] catch throw error --- entry/src/main/ets/view/PublicFilesTab.ets | 1 - 1 file changed, 1 deletion(-) diff --git a/entry/src/main/ets/view/PublicFilesTab.ets b/entry/src/main/ets/view/PublicFilesTab.ets index a660f85..cc97470 100644 --- a/entry/src/main/ets/view/PublicFilesTab.ets +++ b/entry/src/main/ets/view/PublicFilesTab.ets @@ -18,7 +18,6 @@ import { fileIo } from '@kit.CoreFileKit'; import Logger from '../common/utils/Logger'; import { readUserFile, saveToUser } from '../common/utils/SavingAndSelectUserFile'; import { photoPickerGetUri } from '../common/utils/PictureSaving'; -import { hilog } from '@kit.PerformanceAnalysisKit'; @Component export struct publicFilesTab { -- Gitee From 53e69c94e5364c8472ecf36e1db2eac6083b3bf6 Mon Sep 17 00:00:00 2001 From: WangLin305 Date: Fri, 19 Sep 2025 13:51:23 +0800 Subject: [PATCH 3/3] catch throw error --- entry/src/main/ets/entryability/EntryAbility.ets | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/entry/src/main/ets/entryability/EntryAbility.ets b/entry/src/main/ets/entryability/EntryAbility.ets index 9827b54..f0a91e1 100644 --- a/entry/src/main/ets/entryability/EntryAbility.ets +++ b/entry/src/main/ets/entryability/EntryAbility.ets @@ -36,7 +36,12 @@ export default class EntryAbility extends UIAbility { return; } hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); - AppStorage.setOrCreate('uiContext', windowStage.getMainWindowSync().getUIContext()); + + try { + AppStorage.setOrCreate('uiContext', windowStage.getMainWindowSync().getUIContext()); + } catch (error) { + hilog.error(0x0000, 'testTag', `getMainWindowSync catch error, code: ${error.code}, message: ${error.message}`); + } }); } -- Gitee