本文介紹Java運行環(huán)境的錯誤處理,包括錯誤類型和異常信息。
錯誤類型
- 您的函數(shù)如果在執(zhí)行過程中拋出異常,函數(shù)計算會捕獲并返回異常信息。
示例代碼如下:
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"); } }
調(diào)用函數(shù)時收到的響應(yīng)如下所示。{ "errorMessage" : "oops", "errorType" : "java.io.IOException", "errorCause" : "oops", "stackTrace" : [ "example.HelloFC.handleRequest(HelloFC.java:15)" ] }
- 如果您的函數(shù)在運行過程中主動退出,系統(tǒng)會返回一個通用的錯誤信息。
示例代碼如下:
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); } }
調(diào)用函數(shù)時收到的響應(yīng)如下所示。{ errorMessage: 'Process exited unexpectedly before completing request (duration: 43ms, maxMemoryUsage: 65MB)' }
異常信息
異常信息包含如下三個字段:
字段 | 類型 | 說明 |
---|---|---|
errorMessage | String | 異常信息。 |
errorType | String | 異常類型。 |
stackTrace | List | 異常堆棧。 |
更多錯誤類型,請參見錯誤處理。