このトピックでは、エラーの種類や例外情報など、Javaランタイム環境でエラーを処理する方法について説明します。
エラータイプ
関数の実行中にエラーが発生した場合、function Computeはエラーをキャプチャしてエラーメッセージを返します。
サンプルコード:
package example; import com.aliyun.fc.runtime.Context; import com.aliyun.fc.runtime.StreamRequestHandler; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class HelloFC implements StreamRequestHandler { @Override public void handleRequest(InputStream inputStream, OutputStream outputStream, Context context) throws IOException { throw new IOException("oops"); } }
関数が呼び出されると、次の応答が返されます:
{ "errorMessage" : "oops", "errorType" : "java.io.IOException", "errorCause" : "oops", "stackTrace" : [ "example.HelloFC.handleRequest(HelloFC.java:15)" ] }
関数が実行中にプロアクティブに終了すると、システムは一般的なエラーメッセージを返します。
サンプルコード:
package example; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import com.aliyun.fc.runtime.Context; import com.aliyun.fc.runtime.StreamRequestHandler; public class App implements StreamRequestHandler { @Override public void handleRequest(InputStream inputStream, OutputStream outputStream, Context context) throws IOException { System.exit(-1); } }
関数が呼び出されると、次の応答が返されます:
{ errorMessage: 'Process exited unexpectedly before completing request (duration: 43ms, maxMemoryUsage: 65MB)' }
エラー情報
エラー情報のフィールドを次の表に示します。
項目 | カテゴリ | 説明 |
errorMessage | String | エラーメッセージを示します。 |
errorType | String | エラータイプ。 |
stackTrace | List | エラースタック。 |
その他のエラータイプについては、「エラー処理」をご参照ください。