Browse Source

Error handling for `FileAccess.get_file_as_*`

- Assign last error in said `FileAccess.get_file_as_bytes` and `FileAccess.get_file_as_string`
- Document error handling for said methods
Paul Joannon 1 year ago
parent
commit
bf3f6e3b55
2 changed files with 4 additions and 2 deletions
  1. 2 2
      core/io/file_access.h
  2. 2 0
      doc/classes/FileAccess.xml

+ 2 - 2
core/io/file_access.h

@@ -223,8 +223,8 @@ public:
 	static Vector<uint8_t> get_file_as_bytes(const String &p_path, Error *r_error = nullptr);
 	static Vector<uint8_t> get_file_as_bytes(const String &p_path, Error *r_error = nullptr);
 	static String get_file_as_string(const String &p_path, Error *r_error = nullptr);
 	static String get_file_as_string(const String &p_path, Error *r_error = nullptr);
 
 
-	static PackedByteArray _get_file_as_bytes(const String &p_path) { return get_file_as_bytes(p_path); }
-	static String _get_file_as_string(const String &p_path) { return get_file_as_string(p_path); };
+	static PackedByteArray _get_file_as_bytes(const String &p_path) { return get_file_as_bytes(p_path, &last_file_open_error); }
+	static String _get_file_as_string(const String &p_path) { return get_file_as_string(p_path, &last_file_open_error); }
 
 
 	template <class T>
 	template <class T>
 	static void make_default(AccessType p_access) {
 	static void make_default(AccessType p_access) {

+ 2 - 0
doc/classes/FileAccess.xml

@@ -155,6 +155,7 @@
 			<param index="0" name="path" type="String" />
 			<param index="0" name="path" type="String" />
 			<description>
 			<description>
 				Returns the whole [param path] file contents as a [PackedByteArray] without any decoding.
 				Returns the whole [param path] file contents as a [PackedByteArray] without any decoding.
+				Returns an empty [PackedByteArray] if an error occurred while opening the file. You can use [method get_open_error] to check the error that occurred.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="get_file_as_string" qualifiers="static">
 		<method name="get_file_as_string" qualifiers="static">
@@ -162,6 +163,7 @@
 			<param index="0" name="path" type="String" />
 			<param index="0" name="path" type="String" />
 			<description>
 			<description>
 				Returns the whole [param path] file contents as a [String]. Text is interpreted as being UTF-8 encoded.
 				Returns the whole [param path] file contents as a [String]. Text is interpreted as being UTF-8 encoded.
+				Returns an empty [String] if an error occurred while opening the file. You can use [method get_open_error] to check the error that occurred.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="get_float" qualifiers="const">
 		<method name="get_float" qualifiers="const">