StarXpand SDK for iOS / Android 開発者向けマニュアル Ver. 1.14.0

最終更新日: 2026年 9月 15日

エラーを処理する

手順や参照先はOSによって異なります。表示するOSを選択してください。

iOS Android


エラーの処理について、StarPRNT SDKとStarXpand SDKの構成を説明します。

両SDKの違いを確認しStarXpand SDKへの移行を行ってください。


StarPRNT SDK

各APIからNSError型のエラーがthrowされます。エラーの種類を示す値は、NSError.codeに格納されます。
以下のようにcatchする際にエラーをNSError型に変換し、codeプロパティを参照してエラーの種類を特定します。

import StarIO
import StarIO_Extension

do {
    // 略

    var printerStatus = StarPrinterStatus_2()
    try port.beginCheckedBlock(starPrinterStatus: &printerStatus, level: 2)
    
    // 略
} catch let error as NSError {
    code = error.code
}



StarXpand SDK

エラーはすべて列挙型StarIO10Errorで定義されており、各APIでエラーが発生した時に対応するエラーがthrowされます。
StarIO10Errorの列挙子と、そのerrorCodeを確認することで、エラーの種類を特定します。

エラーをcatchする際に、以下のようにmessageとerrorCodeを取り出してください。
エラーの具体的な種類を特定することができます。

import StarIO10

do {
    try manager?.startDiscovery()
} catch StarIO10Error.illegalDeviceState(message: let message, errorCode: let errorCode) {
    switch errorCode {
    case StarIO10ErrorCode.bluetoothUnavailable:
        // Bluetooth Unavailable
    case StarIO10ErrorCode.networkUnavailable:
        // Network Unavailable
    default:
        break
    } 
} catch {
    print("Error: \(error)")
}



両SDKの比較

       
StarPRNT SDK StarXpand SDK
エラーの型NSError StarIO10Error
エラーの種類の特定方法code messageとerrorCode

各APIのStarPRNT SDKとStarXpand SDKへの対応状況は、対応API一覧をご確認ください。

エラーの処理について、StarPRNT SDKとStarXpand SDKの構成を説明します。

両SDKの違いを確認しStarXpand SDKへの移行を行ってください。


StarPRNT SDK

各APIからStarIOPortException型の例外がthrowされます。エラーの種類を示す値はStarIOPortException.errorCodeに格納されます。
以下のようにcatchする際にエラーのerrorCodeプロパティを参照してエラーの種類を特定します。

import com.starmicronics.stario.StarIOPort
import com.starmicronics.stario.StarIOPortException

try {
    // 略

    val status = StarPrinterStatus()
    port.beginCheckedBlock(status, 2)

    // 略
} catch (e: StarIOPortException) {
    val code = e.errorCode
}



StarXpand SDK

エラーはすべてStarIO10Exceptionのサブクラスとして定義されており、各APIでエラーが発生した時に対応する例外がthrowされます。
StarIO10Exceptionのサブクラスと、そのerrorCodeを確認することで、エラーの種類を特定します。

エラーをcatchする際に、以下のようにmessageとerrorCodeを取り出すようにしてください。
下記のようにして、エラーの具体的な種類を特定することができます。

import com.starmicronics.stario10.StarIO10IllegalDeviceStateException
import com.starmicronics.stario10.StarIO10ErrorCode

try {
    manager.startDiscovery()
} catch (e: StarIO10IllegalDeviceStateException) {
    when (e.errorCode) {
        StarIO10ErrorCode.BluetoothUnavailable -> {
            // Bluetooth Unavailable
        }
        StarIO10ErrorCode.NetworkUnavailable -> {
            // Network Unavailable
        }
        else -> {}
    }
} catch (e: Exception) {
    Log.e(TAG, "Error: ${e.message}")
}



両SDKの比較

       
StarPRNT SDK StarXpand SDK
エラーの型StarIOPortException StarIO10Exception(サブクラス)
エラーの種類の特定方法errorCode サブクラスの型とerrorCode

各APIのStarPRNT SDKとStarXpand SDKへの対応状況は、対応API一覧をご確認ください。